在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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |