【发布时间】:2015-10-14 11:00:20
【问题描述】:
我已经完成了使用prepareForSegue:sender: 方法在场景中传递数据的教程,但是现在当我尝试使用传递的数据时,它是空的。我也在使用导航控制器。
这是.h -
#import <UIKit/UIKit.h>
#import "TalkChatTableViewController.h"
@interface CreateChatTableViewController : UIViewController
@end
这是.m
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"idSegueMyChatsToChat"]){
TalkChatTableViewController *tctvc = [segue destinationViewController];
tctvc.chatObjectId = @"test";
NSLog(@"%@", tctvc.chatObjectId);
//succesfully logs out test
}
}
当我用上述方法登录时,结果很好。但是当我去我的TalkChatTableViewController 课程时,它并没有在viewDidLoad 中注销;它是空的。
标题如下所示:
#import <UIKit/UIKit.h>
@interface TalkChatTableViewController : UITableViewController
@property (nonatomic) NSString * chatObjectId;
@end
最后是 .m -
#import "TalkChatTableViewController.h"
@implementation TalkChatTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@", self.chatObjectId);
// logs null
}
@end
【问题讨论】:
-
你在初始化 self.chatObjectId 吗?
-
不会在prepareForSegue方法中初始化吗?
-
你是如何在两个 viewController 之间设置 segue 的?你在哪里调用 -performSegueWithIdentifier:?
标签: ios objective-c cocoa-touch uiviewcontroller segue