4
Xcode最近添加了__nonnull
,__nullable
等屬性。但是,它們不支持舊版本的clang和其他編譯器。如何以向後兼容的方式使用Objective-C __nonnull?
如何以兼容的方式使用這些屬性?
我希望像這樣的工作:
#ifndef NS_ASSUME_NONNULL_BEGIN
#define __nonnull
#endif
但似乎NS_ASSUME_NONNULL_BEGIN
是不是一個真正的宏,它在Xcode7「沒有定義」。
它將使感這個工作:
#if !defined(__is_identifier) || __is_identifier(__nonnull)
#define __nonnull
#define __nullable
#endif
但Xcode的6對扼流圈與「令牌不是在一個預處理子表達式一個有效的二進制運算符」的錯誤。