如何在当前平台上使用适当的颜色类?

时间:2014-06-08 17:04:17

标签: swift

我正在尝试在iOS和OS X上共享我的Scene Kit代码,但是接受颜色(和图像)的API调用可以采用UIColor / UIImage或NSColor / NSImage,具体取决于平台。如何在不重复代码的情况下在Swift中创建正确的类?

1 个答案:

答案 0 :(得分:15)

使用条件编译并输入别名:

#if os(OSX)
    typealias Color = NSColor
    typealias Image = NSImage
#else
    typealias Color = UIColor
    typealias Image = UIImage
#endif

然后使用Color代替UIColor或NSColor:

self.gameView!.backgroundColor = Color(red: 0, green: 0.2, blue: 0.5, alpha: 1)

编辑2016-01-17:正如上面提到的DDPWNAGE,Apple创建了SKColor,其定义基本相同。