Re: [问题] 呼叫其他.h档元件问题

楼主: whitefur (白毛)   2014-02-13 11:37:20
※ 引述《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更新前执行专案都正常
: 所以小弟实在是不知道问题出在哪边
: 是否有大大能解救一下愚昧的小弟呢??
: 实在是感激不尽
作者: chk95 (真男人魂)   2014-02-13 12:23:00
太感激大大的资讯了,看来基本功还是没搞好,看来要专心k一下viewcontroller的运行流程,真的是太感激您了QQ

Links booklink

Contact Us: admin [ a t ] ucptt.com