我学到了非常痛苦的一课,关于如何确保视图控制器的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/

10-11 22:22
查看更多