我想向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數組」。 –