ios - 从一个 View Controller 向另一个 View Controller 发出传递值

标签 ios xcode properties uiviewcontroller

我试图在一个 View 中获取输入到 UITextFields 中的文本,并在按下按钮时将这些值传递到不同的 View Controller 中。在第一个 View Controller (CreateViewController) 中,我有:

#import <UIKit/UIKit.h>
#import <MessageUI/MFMailComposeViewController.h>
@class ThePreviewViewController;
@interface CreateViewController : UIViewController <UIAlertViewDelegate, MFMailComposeViewControllerDelegate> {
    UIDatePicker *datePicker;
    UIDatePicker *datePicker2;
    ThePreviewViewController *_thePreview;
}
@property (nonatomic, retain) IBOutlet UITextField *toName;
@property (nonatomic, retain) IBOutlet UITextField *fromName;
@property (nonatomic, retain) IBOutlet UITextField *issue;
@property (nonatomic, retain) ThePreviewViewController *thePreview;
@property (nonatomic, retain) IBOutlet UITextField *expire;
@property (nonatomic, retain) IBOutlet UITextField *loveMessage;
@property (nonatomic, retain) IBOutlet UITextField *gift;
-(IBAction)build;
@end

实现文件是:

#import "ThePreviewViewController.h"
@implementation CreateViewController
@synthesize toName, fromName, gift, loveMessage, issue, expire, datePicker, datePicker2;
@synthesize thePreview = _thePreview;

-(IBAction)preview {
    if (_thePreview == nil) {
        self.thePreview = [[ThePreviewViewController alloc] initWithNibName:@"ThePreviewViewController" bundle:[NSBundle mainBundle]] ;
    }
    _thePreview.issue.text = issue.text;
    _thePreview.gift.text = gift.text;
    _thePreview.expire.text = expire.text;
    [self.navigationController pushViewController:_thePreview animated:YES];



}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

但是,在我连接所有 socket 后,ThePreviewViewController 中的标签保持为空。想法?

最佳答案

看起来这是由于之前在这里讨论过的一个问题:当您实例化您的 ThePreviewViewController 时,其 UIKit 实例尚不可用于设置其属性。

解决方案是在 ThePreviewViewController 上创建并设置 NSString 属性(或更紧凑地使用 NSDictionary),然后在其 ViewWillAppear 用于设置其 UIKit 元素属性的事件处理程序。

关于ios - 从一个 View Controller 向另一个 View Controller 发出传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14610886/

相关文章:

ios - 来自 NSURL 的 Swift PHAsset

iOS 10.3 通用链接不工作

ios - XCode iOS 用 + 替换空格

C# 动态设计时属性

javascript - 如何指定在对对象执行 console.log 时显示哪个属性?

ios - 如何创建仅 alpha 位图上下文

ios - Xcode 5- clang : error: linker command failed with exit code 1 (use -v to see invocation)

iphone - 如何对核心数据获取的属性进行排序

ios - 如何在xcode中添加将值传递给文本框的按钮

properties - 获取VB元素的属性