【发布时间】:2016-11-18 14:23:09
【问题描述】:
我正在尝试根据版本为设备创建变量,但我的控制权总是转到 else 部分。我的 iOS 是 9.3
#if os(iOS) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000
var addressBookRef : CNContactStore? = nil
#else
var addressBookRef : ABAddressBook? = nil
#endif
我也按照here 的建议尝试过这个,但defined 不接受Swift2.x
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000
var addressBookRef : CNContactStore? = nil
#else
var addressBookRef : ABAddressBook? = nil
#endif
当我在运行时检查并使用断点时,我可以看到我的控件总是转到 else 部分,变量 addressBookRef 的类型是 ABAddressBook。
请建议我做错了什么
【问题讨论】:
-
如果你使用 #if 不要忘记添加 #endif
-
我正在这样做,抱歉我没有在这里添加。忘记。让我更新
标签: ios swift swift2 preprocessor