我学到了非常痛苦的一课,关于如何确保视图控制器的viewDidLoad上的输出为零,那就是编写自己的initWith ...方法。
-(id)initWithDoohickey:(SomeDoohickey*)doohickey
{
self = [super init];
if (self)
{
theDoohickey = doohickey;
}
return nil;
}
现在,当您调用此方法而不是initWithNibName或简单地使用init时,您的视图输出将为nil,并且您将遇到各种调试噩梦。
所以我在这里看到两个解决方案...
(1)调用init或initWithNibName并使其生效,并在其后加上
classInQuestion configureWithDoohickey:(SomeDoohickey*)doohickey
或(2)
弄清楚如何正确编写一个initWith ...方法,该方法实际上可以正确加载笔尖,同时还允许我在同一调用中传递想要的任何配置变量。
我想知道该怎么做(2)。
最佳答案
只需将对[super init];
的呼叫替换为对[super initWithNibName:...];
的呼叫。
显然,您需要传递正确的参数。
关于ios - 如何在viewController上编写initWith…,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36755452/