是否有可能從具有特定屬性的數組中獲取對象?或者我需要循環槽中的所有對象,並檢查屬性是否是我正在尋找的具體內容?使用數組中的屬性查找對象
編輯:感謝您給我正確的方向,但我有一個問題來轉換這一點。
//再次編輯:好的,如果只有一個特定的結果?這也是一個可行的方法嗎?
let imageUUID = sender.imageUUID
let questionImageObjects = self.formImages[currentSelectedQuestion.qIndex] as [Images]!
// this is working
//var imageObject:Images!
/*
for (index, image) in enumerate(questionImageObjects) {
if(image.imageUUID == imageUUID) {
imageObject = image
}
}
*/
// this is not working - NSArray is not a subtype of Images- so what if there is only 1 possible result?
var imageObject = questionImageObjects.filter({ return $0.imageUUID == imageUUID })
您可以在中間添加'lazy'函數,所以它應該只掃描數組直到第一個匹配,並避免你正確地提到的性能問題:'let imageObject = questionImageObjects.lazy.filter {$ 0.imageUUID == imageUUID} .first' – charles 2017-01-20 15:04:19
其實,'questionImageObjects.first(其中:{$ 0.imageUUID == imageUUID})'是可能是快速前進的方式3 – charles 2017-01-20 15:06:38