アクセサでドット表記を使用できるように、カテゴリにプロパティを作成したいと思います。これを実行したい理由は、NSMangedObjectのプロパティを参照する既存のコードをリファクタリングできるようにするためです。次に、外部の呼び出し元とそれらが関連するNSManagedObjectプロパティの間にカテゴリアクセサーメソッドを配置します。(非常に大規模なプロジェクトでドット表記を使用しているため、現在のドット表記の使用法をメッセージングに置き換えたくありません。)
次のようなプロパティ宣言を使用して、カテゴリインターフェイス内で少し実験しました。
@property NSString* details;
これにより、コンパイラの警告が発生します(デフォルトの割り当て属性が気に入らなかった)。
プロパティに直接関連付けられたivarがないため、retainまたはcopyの属性を追加しても意味がありません。
次に、@ property行を省略し、インターフェイスファイルと実装ファイルにアクセサーを追加しました。
- (void) setDetails:(NSString*)details;
- (NSString*) details;
コードをコンパイルして実行しました。ドット表記を使用してメソッドをテストしました。アクセサーはエラーなしで、コンパイラーが文句を言わずに正常に使用できることがわかりました。
ドット表記について読んだところによると、プロパティを特定の方法で設定すれば、ドット表記を使用できます。しかし、私はその要件に準拠したプロパティを設定していません。しかし、私はまだドット表記を使用できるようです。
このアプローチに何か問題がありますか?ドット表記アクセサーをいつどのように使用できるかを定義する仕様はありますか?