我想向Set结构添加扩展,但仅限于Set的元素是NSOperations数组。可能吗?Set的扩展其中元素是特定类型的数组
我想写这样的事情,但它不是一个有效的代码:
extension Set where Element : Array<NSOperation> { }
因为type 'Element' constrained to non-protocol type 'Array<NSOperation>
。所以,我想创造一个协议,延长NSOperations的阵列与此协议:
protocol ArrayOfOperations { }
extension Array : ArrayOfOperations where Element : NSOperation { }
它不工作,或者是因为Extension of type 'Array' with constraints cannot have an inheritance clause
。
所以我有点失落在这里。你有一些想法,如何解决这个问题?
你将如何构建一个“集NSOperations数组“('Set <[NSOperation]>')? '[NSOperation]'不是'Hashable'。 –
@MartinR进口基金会 让OP =的NSOperation() VAR ARR:数组 = [] arr.append(OP) 设置成集(ARR) –
user3441734
@ user3441734:那从创建数组一组,让您一套“NSOperation”,而不是“NSOperation数组”。 –