我目前正在构建一个带有 watchOS 应用扩展的 iOS 应用。我有两个应用程序之间共享的某些类,它们在两个平台上基本相同,但有某些变化。我想知道如何最好地实施。现在我使用以下内容:
#if os(watchOS)
private var watchOSOnlyProperty: Any?
#endif
或者
#if os(iOS)
func iOSOnlyMethod() {
...
}
#endif
虽然这可行,但它带来了几个问题,因为 XCode 似乎对此感到很困惑。使用这种语法时,缩进、自动完成和方法列表都有点偏离。
这样做的正确方法是什么?如何将 iOS/watchOS 特定的属性和方法添加到 Swift 中的共享类?