我很新的iPhone開發。我想知道在哪裏爲我的UIViewController放置一些實例變量的自定義初始化。UIViewController:我在哪裏可以把自定義初始化
我可以使用initWithNibName:bundle:
嗎?
謝謝。
我很新的iPhone開發。我想知道在哪裏爲我的UIViewController放置一些實例變量的自定義初始化。UIViewController:我在哪裏可以把自定義初始化
我可以使用initWithNibName:bundle:
嗎?
謝謝。
initWithNibName:bundle:
是指定的初始化程序,應該用於視圖控制器的自定義初始化。除了視圖控制器控制的視圖之外,您應該在創建視圖控制器時使用它作爲應該運行一次的實例變量代碼。
這些意見可能會在應用程序的運行過程中出現。因此,您可能需要從一個視圖控制器對象多次初始化視圖。如果您未使用視圖的筆尖,則應將視圖初始化代碼放入loadView
,如果您使用的是筆尖,則應放置viewDidLoad
。
- (void) viewDidLoad
{
[super viewDidLoad];
//instantiate here...
}
當視圖準備就緒時調用此方法。你可以使用它。
編輯
嗯,你的意思是,如果你實例化一個屬性一個UIViewController調用,例如myVariable
並且您希望它是,例如,myVarible = @"Hello";
然後您可以在實例上執行此操作,如果它是合成屬性。
MyVC *viewController = [[MyVC alloc] initWithNibName:@"MyNibForMyVC" bundle:[NSBundle mainbundle]];
[viewController setMyVariable:@"Hello"];
這取決於你的實例變量,我想。
如果實例變量從MyViewController
的客戶端可見,請使用RickiG的建議。
如果它是一個輔助實例變量,基本上只能被MyViewController
使用,那麼只需製作自己的版本initWithNibName:bundle:
,調用超級版本並在那裏初始化實例變量。