我想获取有关subviews
类属性的信息UIView
:
objc_property_t property = class_getProperty([UIView class], "subviews");
但是,它返回零?我觉得这太奇怪了。有人可以向我解释这种行为吗?
我想获取有关subviews
类属性的信息UIView
:
objc_property_t property = class_getProperty([UIView class], "subviews");
但是,它返回零?我觉得这太奇怪了。有人可以向我解释这种行为吗?
奇怪的。如果使用-valueForKey:
,则可以清楚地表明它存在。这曾经是 Xcode 3.2.3 中旧 LLVM clang 编译器的一个错误,其中类别中的属性(是的,它在 UIView 上的类别中声明)不会被运行时识别,甚至还有一个错误报告在这里提交。我知道最近版本的 Xcode 在分类方面遇到了问题......
我只是写了一个测试代码:
@interface Cat : NSObject
@property (nonatomic, strong) NSString *name;
@property (nonatomic) NSInteger age;
@property (nonatomic, readonly, copy) NSArray *subviews;
@end
没关系。所以我猜苹果可能会在它上面做得这么神奇。