首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种方法可以为依赖于使用它的平台的结构定义协议属性?

是否有一种方法可以为依赖于使用它的平台的结构定义协议属性?
EN

Stack Overflow用户
提问于 2019-04-11 17:06:51
回答 1查看 35关注 0票数 1

我正在和iOS和WatchOS一起工作。

我有一些正在iPhone上创建并发送到Apple的结构。该结构的目标成员资格既属于iOS应用程序,也属于WatchKit扩展。

我想为这些只能在WatchKit扩展中访问的结构定义一个协议属性:

代码语言:javascript
复制
var complicationTimelineEntry: CLKComplicationTimelineEntry? { get }

CLKComplicationTimelineEntryClockKit框架的一部分,在iOS上是不可用的,所以我无法编译。

有办法这样做吗?还是我应该放弃一刀切的方法来解决这个问题?

目前,我正在用另一个协议为WatchOS端的结构创建一个扩展。它起作用了,但它比我想的要多几步。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-11 17:25:06

你可以这样做:

代码语言:javascript
复制
protocol xyz {
  #if os(watchOS)
      var complicationTimelineEntry: CLKComplicationTimelineEntry? { get }
  #endif
  .
  .
  .
}

如果基本上检查应用程序运行的操作系统是什么。

其他可用选项-- os(iOS)os(tvOS)os(OSX)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55637833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档