私はデモを見ていますが、Objective C のプログラミング スタイルに関するいくつかの基本的なことを理解していないことに気付きました。デモはたまたまスタンフォードの CS193P のレクチャー 14 でした。以下のコードを参照して、何が私を混乱させているかを確認してください。セッターと関係があると思います。
@synthesize photoDatabase = _photoDatabase;
- (void)setPhotoDatabase:(UIManagedDocument *)photoDatabase
{
if (_photoDatabase != photoDatabase)
_photoDatabase = photoDatabase;
}
このコードは、この講義/デモの youtube ビデオの 25:00 からのものです。ここで photoDatabase と呼ばれる合成プロパティは、たまたま UIManagedDocument 型です。
私の最初の質問は、@synthesize myProperty = _myProperty でアンダースコアを使用する理由です。プログラミング全般に慣れていないので、少し混乱しています。XCode 4 の時点で、このプロパティを参照するときにアンダースコアの必要性をなくすために部分的に統合していませんか?
2 番目の質問は、setPhotoDatabase: メソッドの目的は何ですか。講師はこのメソッドをオーバーライドしていると思います。正確にはどのような目的で?