※ 引述《chk95 (真男人魂)》之铭言:
: 主要是在b.m档里面呼叫a.h档的原件做更新资料的动作
: 程式大致如下
: NewsController* newController =
: [self.storyboard instantiateViewControllerWithIdentifier:@"NewsPages"];
: [self.navigationController pushViewController:newController animated:YES];
: newController.title = @"abcd";
: newController.newsPage_textView.text=@"oh ya";
你用lldb设breakpoint在这一行看看
newsPage_textView一定是nil
因为这个时候newController里的view还没load进来
此时newController只有init而已
因为pushViewController后并非马上显示
而是等到runloop结束后
才会统一更新画面
此时才会去access controller的view
其subview才会通通被load进来
你可以做个实验
在newController.newsPage_textView.text=@"oh ya";之前
加上一行newController.view;
这样就可以抓到newsPage_textView了
所以一般的做法
要等到viewDidLoad才抓得到news_textView
建议你把view controller的文件读过一次
才会了解iOS的view是如何运作的
https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/ViewLoadingandUnloading/ViewLoadingandUnloading.html
懒得读的话直接看Figure4-1那张图
: 在xcode尚未更新为5.02时,执行这个程式都可顺利改写title以及newsPage_textView
: 的资料并秀出,但xcode更新后再次执行此专案才发现title顺利改写了
: 但newsPage_textView却无法更新资料
: storyboard id也有做定义
: 在a.m档执行newsPage_textView改写资料也可以顺利改写
: 唯独b.m呼叫它时要改写却不行,因之前xcode更新前执行专案都正常
: 所以小弟实在是不知道问题出在哪边
: 是否有大大能解救一下愚昧的小弟呢??
: 实在是感激不尽