我正在尝试将字符串中的数据分配给另一个viewcontroller中的另一个字符串,但似乎数据未被保留 - 我在NSLog中得到一个空响应。我想知道为什么,谢谢..
答案 0 :(得分:1)
尝试稍微更改订单,如下所示,并使用保留而不是复制:
SchoolDetailViewController *schoolController = [[SchoolDetailViewController alloc]initWithNibName:nil bundle:nil];
schoolController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
schoolController.courseDetails = @"passing new content";
[self presentModalViewController:schoolController animated:YES];
NSLog(@" %@",schoolController.courseDetails); // 'passing new content' is shown
.h
NSString *courseDetails;
@property (nonatomic, retain) NSString *courseDetails;
.m
@synthesize courseDetails;
- (void)viewDidLoad {
NSLog(@" text : %@",courseDetails); // returns null ... why?
[super viewDidLoad];
}
这应该有用。
答案 1 :(得分:0)
那是因为当您使用或不使用动画呈现视图控制器时会调用viewDidLoad方法。
所以只需翻转这两个陈述
[self presentModalViewController:schoolController animated:YES];
schoolController.courseDetails = @"passing new content";
像这样
schoolController.courseDetails = @"passing new content";
[self presentModalViewController:schoolController animated:YES];
然后再次检查结果......