iOS 4から、iVarをまったく宣言しない機能が追加され、プロパティを合成するときにコンパイラが自動的にiVarを作成できるようになったことを理解しています。ただし、この機能に関するAppleのドキュメントは見つかりません。
また、iVarとプロパティの使用に関するベストプラクティスまたはAppleが推奨するガイドラインに関するドキュメントはありますか?私はいつも次のようなプロパティを使用しています:
.hファイル
@interface myClass {
NSIndexPath *_indexPath
}
@property(nonatomic, retain) NSIndexPath *indexPath
@end
.mファイル
@implementation myClass
@synthesize indexPath = _indexPath;
- (void)dealloc {
[_indexPath release];
}
@end
iVar名としてindexPathの代わりに_indexPathを使用して、を使用するindexPath
必要があるときに使用しないようにしていますself.indexPath
。しかし、iOSが自動プロパティをサポートするようになったので、それについて心配する必要はありません。ただし、iVar宣言を省略した場合、deallocでのリリースをどのように処理する必要がありますか?プロパティメソッドを使用するのではなく、deallocでリリースするときにiVarsを直接使用するように教えられました。設計時にiVarがない場合、代わりにプロパティメソッドを呼び出すことはできますか?