我正在尝试在iOS和OS X上共享我的Scene Kit代码,但是接受颜色(和图像)的API调用可以采用UIColor / UI
Image或NSColor / NSImage,具体取决于平台.如何在不重复代码的情况下在
Swift中创建正确的类?
使用条件编译并键入别名:
#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
,其定义基本相同.