1

4つの異なるクラスを使用することを除いて、まったく同じ4つの画面があります。このプロパティをヘッダーに配置することで、それらを1つに減らすことができると思いました。

@property Class *classType;

その後、クラスを設定して完了できます。

ただし、次のようにclassTypeを使用しようとすると、次のようになります。

NSArray *myArray = [classType allobjects];

次のように表示されます:「不正な受信者タイプ__unsafe_unretainedクラス*」

これはあまり意味がありません。クラスメソッドはNSArrayを返します。明示的なクラス名を使用すると、エラーは発生せず、すべてが正常に機能します。

ARCでxcode4.5を使用しています。

4

2 に答える 2

4

使ってみてください

@property Class classType;

欠落している*に注意してください。クラスはidに似ており、ポインタ型が暗黙指定されています。

于 2012-10-06T21:58:13.700 に答える
0

Googleでのクイック検索、ランタイムのヘッダーでさらに優れています。

typedef struct objc_class *Class;

タイプはそれ自体がポインタです。プロパティを宣言するときにClass余分な記号は必要ありません。*

于 2012-10-06T22:22:09.157 に答える