我想了解一下目标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一样稳定。

09-25 18:42
查看更多