问题
Xcode 8 introduces Objective-C class properties and I would like to add one to an Objective-C library.
However I would like the library to still compile with Xcode 7. Is there an availability check I can do at compile time?
Something like
#if __hasFeature(objc_class_properties)
@property (class, readonly, nonatomic) MySingletonClass *shared;
#endif
What does work is:
#if __clang_major__ >= 8
…but I'd like to check for feature availability rather than CLANG version.
回答1:
Searching the LLVM source code I found:
#if __has_feature(objc_class_property)
…which works perfectly.
来源:https://stackoverflow.com/questions/39131390/macro-to-detect-availability-of-class-properties-in-objective-c