我想了解一下目标C类的属性类型。我看到我可以通过使用运行时函数property_getAttributes(property)来做到这一点,该函数返回一个C字符串,如下所示:
T@"UIColor",&,N,VsomeColor_ // ivar was UIColor* someColor_; property was (nonatomic, retain) UIColor* someColor;
或这个:
Tf,N,vfontSize_ // ivar was CGFloat fontsize_; property was (nonatomic) CGFloat fontSize;
然后,我可以解析该字符串,即查看初始T之后和下一个逗号之前的部分。
我的问题是-这样做是否可能稳定?或者,还有更好的方法?
最佳答案
如here所述,property_getAttributes
是Objective-C运行时的一部分。
如果您想对ObjC类进行某种自省,那是必须走的路。我认为这不是不稳定的,因为Objective-C运行时本身非常稳定。此外,还有一个官方指南(请参见上面的链接),因此您可以放心它与任何其他官方Apple API一样稳定。