3

subviewsクラスのプロパティに関する情報を取得したいUIView:

objc_property_t property = class_getProperty([UIView class], "subviews");

しかし、それはnilを返しますか?とても奇妙だと思います。誰かが私にこの振る舞いを説明してもらえますか?

4

2 に答える 2

1

変。を使用する-valueForKey:と、存在することを明確に示すことができます。これは、Xcode 3.2.3の古いLLVMclangコンパイラのバグであり、カテゴリ内のプロパティ(はい、UIViewのカテゴリで宣言されています)がランタイムによって認識されず、バグレポートもありました。それについてここに提出した。最近のバージョンのXcodeが最近のカテゴリで問題を抱えていることを知っています...

于 2012-06-28T05:08:45.013 に答える
0

テストコードを書くだけです:

@interface Cat : NSObject
    @property (nonatomic, strong) NSString *name;
    @property (nonatomic) NSInteger         age;
    @property (nonatomic, readonly, copy)   NSArray *subviews;
@end

大丈夫です。だからAppleは多分それに魔法をかけていると思います。

于 2012-06-28T06:29:26.287 に答える