在 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)
在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)