加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在swift中符合多个协议的类型

发布时间:2020-12-14 06:04:26 所属栏目:百科 来源:网络整理
导读:我有一个Objective-C变量符合多个协议。 id NSObject,NSCopying,NSCoding identityToken; 我将如何在Swift中代表这种类型? 这应该工作: var identityToken: NSObjectProtocol NSCopying NSCoding 注意,你必须在swift中使用NSObjectProtocol而不是NSObject
我有一个Objective-C变量符合多个协议。
id <NSObject,NSCopying,NSCoding> identityToken;

我将如何在Swift中代表这种类型?

这应该工作:
var identityToken: NSObjectProtocol & NSCopying & NSCoding

注意,你必须在swift中使用NSObjectProtocol而不是NSObject。

以下是一些其他示例:

符合多种协议的对象数组:

var array: [NSObjectProtocol & NSCopying & NSCoding]

具有符合多个协议的参数的函数:

func foo(param: NSObjectProtocol & NSCopying & NSCoding) {

}

对于Swift版本3.0之前,请使用:

var identityToken: protocol<NSObjectProtocol,NSCoding>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读