2
問題陣列是如下:二階使用斯威夫特
我有兩個陣列,一個與對象,第二個與CoreData實體通過IDS分類:
var objects = [["id":5],["id":1],["id":3]]
var entities = [["id":1],["id":3],["id":5]]
我需要在實體排序與對象的順序相同。 *實體宗旨保存尚
我能做到這一點,通過在一個循環迴路,並創建第三個數組,但它是緩慢和使用更多的內存比它應該(我的陣列有時會處理超過100個單位)
let count = objects.count
var finalArray = []()
for i in 0..<count {
let id = objects[i].id
for k in 0..<count {
if entities[k].id == id {
finalArray += [entities[k]]
break
}
}
}
上面的代碼確實有效,但它聞起來不夠好。任何建議如何使用內置的Swift更優化的解決方案?
謝謝Rob,現在更少的週期了!的確是一個算法問題,我在Swift上爲「構建比較」構建跳躍,但仍然是,您的解決方案已經足夠優化了。 – 2015-02-05 15:59:05