如何从Swift确定设备类型? (OS X或iOS)

前端之家收集整理的这篇文章主要介绍了如何从Swift确定设备类型? (OS X或iOS)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道Swift是比较新的,但是我想知道是否有办法确定设备类型?

(像你以前能够使用#define)?

主要是想知道如何区分OS X或iOS。我没有发现这个问题。

如果您正在为iOS和OS X(也可能现在用于watchOS和tvOS)构建,那么您至少建立两次代码:每个平台一次。如果您希望在每个平台上执行不同的代码,则需要构建时间条件,而不是运行时检查。

Swift没有预处理器,但它具有条件构建伪指令 – 并且在大多数情况下,它们看起来像C等效。

#if os(iOS) || os(watchOS) || os(tvOS)
    let color = UIColor.redColor()
#elseif os(OSX)
    let color = NSColor.redColor()
#else
    println("OMG,it's that mythical new Apple product!!!")
#endif

您还可以使用构建配置来测试架构(x86_64,arm,arm64,i386)或-D编译器标志(包括由标准Xcode模板定义的DEBUG标志)。

请参阅使用Swift与Cocoa和Objective-C中的Preprocessor Directives

(如果要在运行时区分哪种iOS设备,请使用UIDevice类,就像您在ObjC中一样。查看对您而不是设备重要的设备属性通常更有用和安全名称或成语 – 例如使用特征和大小类来布局您的UI,查询OpenGL以获取所需的GPU功能等)

猜你在找的Swift相关文章