Xcodeで分割ビューアプリケーションを選択したときに作成される標準のサンプル分割ビューを使用していましたが、いくつかのフィールドを追加した後、詳細ビューで表示されます。目的Cアンダースコアプロパティvs自己
オリジナルのサンプルでは何か面白いことがありますが、マスタービューでは詳細ビューに「detailItem」プロパティが設定され、詳細ビューに表示されます。
- (void)setDetailItem:(id) newDetailItem
{
if (_detailItem != newDetailItem) {
_detailItem = newDetailItem;
// Update the view.
[self configureView];
}
私はそれが何であるかを理解しているので、私はそれを周りに遊んでいました。私はself.detailItemを使用して_detailItemの代わりにそれが同じであると思った、それはクラスのプロパティだから。私は
self.detailItem != newDetailItem
を使用する場合
しかし、私は実際にこのメソッドが常に呼び出されたループに陥ってしまったと私はシミュレータで何かをやる傾けます。
私の質問は、アンダースコア変数(ivar?)とプロパティの実際の違いは何ですか? 私はいくつかの記事をここで読んでいますが、それはちょうどいくつかの客観的なCのコンベンションであるようですが、実際にはいくつかの違いがありました。
ああ、このような明白な間違い。ありがとうalot – Pita
ありがとう! – cp3