タイトルが説明したように、xib ファイルのコンポーネントを .h ファイルにドラッグしてアウトレットなどを便利に作成するdoublePicker
と、xcode は次のviewDidUnloaded:
ようなメソッドでステートメントを作成するのに役立ちます。
[self setDoublePicker:nil];
それとの違いは何ですか:
self.doublePicker = nil;
どちらがより良いパフォーマンスを発揮しますか?
タイトルが説明したように、xib ファイルのコンポーネントを .h ファイルにドラッグしてアウトレットなどを便利に作成するdoublePicker
と、xcode は次のviewDidUnloaded:
ようなメソッドでステートメントを作成するのに役立ちます。
[self setDoublePicker:nil];
それとの違いは何ですか:
self.doublePicker = nil;
どちらがより良いパフォーマンスを発揮しますか?
Foo *foo = [[Foo alloc] init];
foo.bar = YES;
[foo setBar:YES];
最後の 2 行はまったく同じようにコンパイルされます。これを変更する唯一のことは、プロパティに getter および/または setter 属性が指定されている場合です。ただし、メッセージが送信されるかどうかではなく、送信されるメッセージが変更されるだけです。
if ([someView isEmpty]) { /* ... */ }
if (someView.empty) { /* ... */ }
両方の行で同じ結果が得られます。. ドット表記法をよりよく理解するために、これを一度参照してください。
シンプルな最初の 1 つは、名前が であるメソッドを呼び出しており、2 番目はとしてsetDoublePicker
設定したメソッドです。self.doublePicker
nil
詳細については、この Question Difference between self.var と単に var をお読みください。
それらは同等です。Objective-C プロパティを使用して値を設定することfoo = nil
は、 を呼び出すことと同じsetFoo:nil
です。見る:
インスタンス変数にカスタム セッター メソッドまたはゲッター メソッドを使用していない場合、どちらも同じです。カスタム セッターまたはゲッターを使用している場合、以下のコードで警告が表示されます。
[self setDoublePicker:nil ];