0

Objective-C では、カテゴリを作成してクラスを拡張できます。基本的にはメソッドのみであるため、プロパティを追加することもできます。ただし、@synthesize またはその他の既知の方法でそれらをバインドすることはできません。したがって、それらを使用しようとすると、アプリがクラッシュします。

カテゴリでプロパティを使用することはありますか、それとも言語のロジックを壊して禁止するために可能でしょうか。カテゴリでプロパティを定義することが理にかなっているシナリオを教えてください。

4

2 に答える 2

1

カテゴリでプロパティを定義する主な用途は、クラス拡張を作成することです。クラス拡張を作成するときにカテゴリを使用すると、プロパティを定義してそれらを合成することもできます。これは、パブリックアクセスのためにプロパティを非表示にする方法です。

詳細については、これを確認できます-http://www.techpaa.com/2012/04/adding-properties-to-categories-and.html

于 2012-05-08T16:39:59.657 に答える
0

Objective-C プログラミング言語ガイドから

カテゴリを使用すると、既存のクラスにメソッドを追加できます。ソースがないクラスにもメソッドを追加できます。カテゴリは、サブクラス化せずに既存のクラスの機能を拡張できる強力な機能です。

あなたがしたいので

基本的にはメソッドのみであるため、プロパティを追加します

カテゴリを使用して、クラスにメソッドを追加できます。

于 2012-05-08T16:39:01.590 に答える