在 swift 中设置 NSArray 协议

set NSArray protocol in swift

在Objective-C中你可以做类似NSArray<ReviewC>* reviews;的事情来创建一个遵循协议ReviewC的变量NSArray,我需要在Swift中做同样的事情,我需要让 NSArray 遵循一个协议,它必须是一个 NSArray,而不是一个数组。

我知道我可以在 Objective C 上做到这一点,并且我可以将 Objective C 与 Swift 混合使用,但如果可能的话我更喜欢使用 Swift。

我认为你可以这样做:

protocol ReviewC {
    // protocol definition goes here
}


var reviews : NSArray = NSArray() as? protocol<ReviewC> as! NSArray

您可以声明一个符合协议的变量,然后将 NSArray 分配给它,只需确保 NSArray 符合该协议即可。

var object: MyProtocol = NSArray(array: someArray)

你的情况:

var object: ReviewC = NSArray(array: someArray)