我一直在努力斯威夫特3相當長的時間才能夠元組排序如下斯威夫特4排序元組的錯誤
let count = self.array1.count
let sortedTuples = (0..<count).map {(self.array2[$0], self.array3[$0], self.array1[$0], self.array4[$0], self.array5[$0], self.array6[$0], self.array7[$0], self.array8[$0])}.sorted { $0.0 > $1.0 }
self.array2 = sortedTuples.map { $0.0 }
self.array3 = sortedTuples.map { $0.1 }
self.array1 = sortedTuples.map { $0.2 }
self.array4 = sortedTuples.map { $0.3 }
self.array5 = sortedTuples.map { $0.4 }
self.array6 = sortedTuples.map { $0.5 }
self.array7 = sortedTuples.map { $0.6 }
self.array8 = sortedTuples.map { $0.7 }
注意到,所有的數組String
,除了array7
是UIColor
。
現在,當遷移到Swift 4時,出現錯誤;
表情太複雜,無法在合理的時間內解決;考慮 將表達式分解成不同的子表達式
如何將此長代碼分解爲更多行以滿足Xcode 9?
這可能有助於指定類型'sortedTuples',而不是讓類型推斷數字爲你。 – Palle
爲什麼你有8個並行陣列?這是一個很大的代碼氣味;考慮有*一個* 8個屬性的結構數組。 – Hamish
@Hamish這是不可能通過巨大的代碼,我想這樣做 –