を使用して同じビューコントローラがIは、(エントリポイントとしてUINavigationController
に埋め込まれた)「MyViewController」と呼ばれるストーリーボードのIDと、ストーリーボードにUIViewController
を有し 及びIは次のよう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を使用すると、新しいインスタンスが割り当てられます。したがって、この場合は2つのインスタンスが表示されます(初期ビューコントローラ)。コードを使用して割り当てた2番目のインスタンス –