当我创建一个新的nsvc子类并向其中添加一些ibolet时,当我尝试访问它们时,它们总是为零。我试过创建一个新项目,只有一个VC类,只有一个出口,但仍然是零。
我检查过它们确实是有联系的。我试过用笔尖全名来实例化这个类。我还清理了项目,并丢弃了派生的数据。没人能改变。
那么是什么导致了这一切呢?所有新项目都是如此;我在旧项目中添加了新的出口,它们工作得很好。所有的iboutlets都为零,而不仅仅是少数。我在Xcode 7.1.1上。
我得到的错误是:
致命错误:解包可选值时意外发现nil
最佳答案
如果其他人也面临同样的问题,我找到了解决办法。iboutlet为零,因为它的超级视图从未加载过,所以应用程序从未创建过它。一个简单的黑客在使用任何子视图之前就写下了这一点:
let view = viewController.view
这就创建了视图,因此它上面的所有出口。
另外,我知道这不是一个真正的解决方案,但我想不出另一个。如果有人有任何建议,请随时发帖。