有没有可能通过特定属性从数组中获取对象?还是我需要循环遍历数组中的所有对象,并检查属性是否是我要查找的特定属性?
编辑:感谢你指导我正确的方向,但我遇到了将其转换的问题。
// 再次编辑:好的,如果只有一个特定的结果呢?这也是一种可能的方法吗?
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