相同視圖控制器我在故事板上有一個UIViewController
一個名爲「MyViewController」(嵌入UINavigationController
爲切入點)故事板ID, 和我試圖使用instantiateViewControllerWithIdentifier
像其它類訪問:訪問使用instantiateViewControllerWithIdentifier
MyAccessor.swift
func accessMyViewController(){
let storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
let vc = storyboard.instantiateViewControllerWithIdentifier("MyViewController")
print(vc.description)
}
MyViewController.swift
override func viewDidLoad() {
print(self.description)
}
控制檯
<MyViewController: 0x7ff6ab76f9c0>
<MyViewController: 0x7ff6ab557410>
我打印出不同的內存地址,
沒有他們應該是一樣的嗎?
你只是實例化vc,而不是顯示它 –
@MidhunMP它被顯示,因爲它被嵌入到被設置爲初始視圖控制器的導航控制器中。 – bluenowhere
當你使用instantiateViewControllerWithIdentifier時,它分配新的實例。因此,在這種情況下有兩個實例,一個顯示(初始視圖控制器),第二個您使用代碼 –