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

前端之家收集整理的这篇文章主要介绍了在swift中符合多个协议的类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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>
原文链接:https://www.f2er.com/swift/321047.html

猜你在找的Swift相关文章