当我通过做创建这个控制器
MyVIEwController1 * vc = [[MyVIEwController1 alloc] init],
如果我用另一个替换MyVIEwController1,例如MyVIEwController2,它可以工作.所以我猜这个问题真的在MyVIEwController1中.
最后你可能想知道的是,MyVIEwController1实际上是一个UIVIEwController的MySuperVIEwController1的子类.
谢谢你的帮助 !
编辑
我意识到我的情况可能更复杂.以下是我的确切文件:
// MySuperVIEwController1
MySuperVIEwController1.hMySuperVIEwController1.mMySuperVIEwController1.xib
// MyVIEwController1
MyVIEwController1.hMyVIEwController1.m
所以笔尖属于超类,而不是子类.我能做到吗
解决方法 你应该使用:MyVIEwController1 *vc = [[MyVIEwController1 alloc] initWithNibname:@"MyVIEwController1" bundle:nil]
调用init将不会与您的xib文件匹配,也不会分配您的不同IBOutlet
编辑:
有两种可能的解决方案:
首先用超级nibname调用init
MyVIEwController1 *vc = [[MyVIEwController1 alloc] initWithNibname:@"MySUperVIEwController1" bundle:nil]
第二个是调用super initWithNibname:在init方法中:
-(ID)init { if (self = [super initWithNibname:@"MySuperVIEwController1" bundle:nil]) { // Init } return self;}总结
以上是内存溢出为你收集整理的ios – 我的所有IBOutlet在viewDidLoad中都为零全部内容,希望文章能够帮你解决ios – 我的所有IBOutlet在viewDidLoad中都为零所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)