4
編寫代碼時最簡單的方法是利用Xcode 7編譯時的泛型,但也可以在Xcode 6上編譯?Objective C泛型 - 條件編譯
我猜某種預處理器伎倆可以做的工作,也許是這樣的:
#define XCODE7_ONLY(x) ...
NSDictionary XCODE7_ONLY(<NSString*, NSString*>)* dictionary;
編寫代碼時最簡單的方法是利用Xcode 7編譯時的泛型,但也可以在Xcode 6上編譯?Objective C泛型 - 條件編譯
我猜某種預處理器伎倆可以做的工作,也許是這樣的:
#define XCODE7_ONLY(x) ...
NSDictionary XCODE7_ONLY(<NSString*, NSString*>)* dictionary;
可以使用__has_feature(objc_generics)
宏來測試對象 - 仿製藥。所以你可能想嘗試:
#if __has_feature(objc_generics)
#define XCODE7_ONLY(...) __VA_ARGS__
#else
#define XCODE7_ONLY(...)
#endif
我很好奇..你爲什麼要這麼做?很快你將只能使用Xcode 7提交應用程序。 – Tander
我想通過使用Base SDK 10.9進行編譯來測試我的應用程序是否可以在10.9上運行。 –
你可能想考慮一下,如果這會真的改善代碼,那麼在不正確的對象被添加到字典中會出現問題嗎?不是說增加的類型信息是一件壞事。 – zaph