这是我的代码:
+ (voID) pushVIEwController:(Nsstring *) IDentifIEr ForItems:(NSMutableArray *) items sender:(UIVIEwController *) sender { GenericVIEwController *vIEwController = (GenericVIEwController *)[sender.storyboard instantiateVIEwControllerWithIDentifIEr:IDentifIEr]; vIEwController.items = [[NSMutableArray alloc] init]; [vIEwController.items removeAllObjects]; [vIEwController.items addobject:[[NSMutableArray alloc] init]]; [vIEwController.items[0] addobjectsFromArray:items]; [sender.navigationController pushVIEwController:vIEwController animated:YES];}
在GenericVIEwController vIEwDIDLoad我正在使用我的项目.感谢一些断点,我看到GenericVIEwController vIEwDIDLoad juste在instantiateVIEwControllerWithIDentifIEr之后,项目等于nil.
我认为在pushVIEwController方法期间调用MyVIEwController vIEwDIDLoad.
知道为什么在instantiateVIEwControllerWithIDentifIEr期间调用vIEwDIDLoad?
—更新:—
这是我的vIEwDIDLoad
- (voID)vIEwDIDLoad{ for (MyItem *currentItem in self.items[0]) { [Do Something] } [super vIEwDIDLoad]; [...]}
self.items是零.所以什么都没做.
解决方法 对任何可能仍有同样问题的人.我遇到了类似的情况,只需调用loadVIEwIfNeeded()即可解决问题.
let sb: UIStoryboard = UIStoryboard(name: "Main",bundle: nil)let controller = sb.instantiateVIEwControllerWithIDentifIEr("LoadingVIEw") as! LoadingVIEwControllercontroller.loadVIEwIfNeeded()
然后我可以访问视图中的所有内容.
总结以上是内存溢出为你收集整理的ios – instantiateViewControllerWithIdentifier似乎调用了viewdidload全部内容,希望文章能够帮你解决ios – instantiateViewControllerWithIdentifier似乎调用了viewdidload所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)