我使用的NSOperation符合具有results
属性的SomeProtocol
let op : NSOperation, SomeProtocol = ...
op.completionBlock = {
print(op.results)
}
我收到以下错误:
Value of type 'NSOperation' has no member 'results'
我知道我可以将NSOperation子类化以获得预期的行为,但是我可以使用协议实现我想要的吗?
答案 0 :(得分:3)
该代码甚至不应该那么远......与Objective-C不同,Swift不允许将变量指定为具体类型和协议的组合。您只能将变量声明为特定类型,特定协议或协议组合,例如
let op : protocol<SomeProtocol, AnotherProtocol> = ...
但目前无法将变量声明为特定类型NSOperation
且符合协议SomeProtocol