iOSアプリと目標Cの作業を開始して以来、変数の宣言と定義を行うさまざまな場所に本当に戸惑っていました。一方には従来のCアプローチがあり、もう一方にはOOを追加する新しいObjectiveCディレクティブがあります。これらの場所を変数に使用して、現在の理解を修正したい場合のベストプラクティスと状況を理解していただけると助かりますか?
これがサンプルクラスです(.hと.m):
#import <Foundation/Foundation.h>
// 1) What do I declare here?
@interface SampleClass : NSObject
{
// 2) ivar declarations
// Pretty much never used?
}
// 3) class-specific method / property declarations
@end
そして
#import "SampleClass.h"
// 4) what goes here?
@interface SampleClass()
// 5) private interface, can define private methods and properties here
@end
@implementation SampleClass
{
// 6) define ivars
}
// 7) define methods and synthesize properties from both public and private
// interfaces
@end
- 1と4についての私の理解は、これらはCスタイルのファイルベースの宣言と定義であり、クラスの概念をまったく理解していないため、Cでの使用方法とまったく同じように使用する必要があるということです。以前は静的変数ベースのシングルトンの実装に使用されていました。私が見逃している他の便利な用途はありますか?
- iOSでの作業からの私の見方は、@ synthesizeディレクティブの外ではivarが完全に廃止されたため、ほとんど無視できるということです。それは事実ですか?
- 5に関して:プライベートインターフェイスでメソッドを宣言したいのはなぜですか?私のプライベートクラスメソッドは、インターフェイスでの宣言なしで問題なくコンパイルできるようです。それは主に読みやすさのためですか?
どうもありがとうございました!