xcode4.3で複数回呼び出されている / viewdidloadが固定されていないプロパティ値の設定4.3
-
28-10-2019 - |
質問
だからこれは奇妙です。
私はプロパティを持っています:
@property (weak, nonatomic) Something *something; // .h
@synthesize something=_something // .m
何らかの理由で、そのプロパティを維持していません _something
設定。
私もセッターを書きました:
- (void)setSomething:(Something *)something {
_something = something;
}
通過した something
オブジェクトの有効なインスタンスです。ただし、ラインを踏んだ後 _something = something
, _something
ニルです something
まだ有効なオブジェクトです。
これは私を夢中にさせています。なぜなら、すべてが私には正しいように見えるからです。私はこの同じ種類のことを何千回も書いています。新しいことは、これがXcode 4.3にあることです。
どんな助けも感謝します。ありがとう!
ETA:それで、おそらくこれはヒントですか? ViewDidloadは、4のバッチで、全体のwhackloadの全体と呼ばれています。ストーリーボードを使用しているため、ビューは自動的に適切に設定されています。ビューコントローラーが適切に読み込まれたり、初期化されていないのでしょうか?クラスセットを持っていますが、すべてが機能するはずのように見えますが、そうではありません。
解決
わかりました、私はそれを理解しました。この方法がどこから来たのかはわかりませんが、これは何かviewcontroleコードにありました。
- (void)loadView {
// If you create your views manually, you MUST override this method and use it to create your views.
// If you use Interface Builder to create your views, then you must NOT override this method.
}
私はストーリーボードを使用しているため、この方法の存在そのものがあらゆる種類の問題を引き起こしました。私はおそらくそれをコピーして、それについて考えずにどこかから貼り付けたので、かなり恥ずかしいです。
とにかく、これが誰かを助けることを願っています。それは私の一日のほとんどを殺しただけでした。
他のヒント
たぶん、あなたがそのプロパティに割り当てているものは、他のどこからも指摘されていません。したがって、割り当ての後、そのオブジェクトへの唯一のポインターはあなたのプロパティであり、それは 週 したがって、オブジェクトはヒープから投げ出されます