我想我可能會問一個愚蠢的問題,但它確實讓我困惑了一會兒。iOS編程:類和實例
我是iOS開發人員和我在網上看到的例子,他們總是在viewController的類中寫代碼。
但是,根據我在C++中的經驗,我認爲一個類只是一個重用的模板。您只能在初始化時使用它。 所以執行工作的事情就是實例。
我的問題是/誰在應用程序中創建viewController實例?
我想我可能會問一個愚蠢的問題,但它確實讓我困惑了一會兒。iOS編程:類和實例
我是iOS開發人員和我在網上看到的例子,他們總是在viewController的類中寫代碼。
但是,根據我在C++中的經驗,我認爲一個類只是一個重用的模板。您只能在初始化時使用它。 所以執行工作的事情就是實例。
我的問題是/誰在應用程序中創建viewController實例?
我想你是指模板ViewController
,例如,總是附帶一個新的單頁應用程序項目。
它正在創建一旦程序完成發射,但它基本上做的是下面的「引擎蓋下」:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
window = UIWindow(frame: UIScreen.main.bounds)
window?.makeKeyAndVisible()
window?.rootViewController = ViewController();
return true
}
事實上,這就是你需要做什麼,如果你想刪除故事板和工作完全編程,除了在你項目的一般信息清除主界面信息如下:
如果你w ^螞蟻顯示另一個自定義ViewController
類,你可以從另一個ViewController
目前它在
let secondViewController = MyCustomViewController()
// this line will place the MyCustomViewController instance on top of the current ViewController
present(secondViewController, animated: true, completion: nil)
我希望我能幫助!
「主界面」是否只指定了xib/nib/storyboard?然後從那裏完成VC的實例化。我現在無法檢查我自己 – Alexander
是的,就是這樣。我指出了這一點,以防萬一他想嘗試在沒有故事板的情況下運行ViewController。如果它不是空白的,它將不起作用(至少在Xcode 8.3之前) –
你是在做一切代碼或你使用故事板? – rmaddy
@rmaddy可能是故事板。如果OP在代碼中做所有事情,那麼他們會看到VC如何實例化,因爲他們自己會這樣做 – Alexander
這是一個非常好的問題。當我第一次啓動 – Alexander