我已经完成了使用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
答案 0 :(得分:0)
TalkChatTableViewController * tctvc = (TalkChatTableViewController *)[segue destinationViewController];
这就是工作的结果。