2017-09-14 5 views
-2

awakeFromNibを呼び出すには、tableViewでセルをリロードし、実行中のコードを再実行して、セル内にあるpageViewControllerを新しくロードすることが可能ですか?awakeFromNibを呼び出すにはどうすればいいですか?

+5

nibから手作業で、セル –

+0

のprepareToReuseメソッドを使用することができます。awakeFromNibのコードを関数に入れて、関数を再度実行するだけでしょうか? – Raymond

答えて

1

私は、awakeFromNibがnibファイルから初期化されるときにオブジェクトに対して呼び出されると信じています。したがって、手動で呼び出すことはできません。

これは、nibファイルからオブジェクトをロードするプロセスについてはthreadです。すべてのオブジェクトがインスタンス化と初期化された後

0

awakeFromNIb方法

についてのリンゴからのドキュメントを参照してください、 ペン先ローディングコードは それらのオブジェクトのすべてのための出口とアクションの接続を再確立します。次に、 オブジェクトのawakeFromNibメソッドを呼び出します。

したがって、手動で呼び出すことは不可能です。さらに、コードの行をawakeFromNibに入れて別のメソッドにして、そのメソッドを呼び出すことをお勧めします。それはあなたのために働くでしょう。

0

他の回答者が指摘するように、「ライフサイクル」の方法を自分で呼び出すべきではありません。

override func awakeFromNib() { 
    super.awakeFromNib() 
    self.doSetupStuffINeedToRepeat() 
} 

func doSetupStuffINeedToRepeat() { 
    //... 
} 

その後、あなたは、単にあなたが欲しいdoSetupStuffINeedToRepeat()いつでも呼び出すことができます。しかし、あなたのような何かを行うことができない理由地球上の理由はありません。あなたがawakeFromNibに電話をしてはならない理由は、正常に実行された場合はsuper.awakeFromNibに電話をかけ、実行中にこれを実行すると本当に物事が乱れることがあります...

関連する問題