Swift:从数组中删除特定对象的更好方法?

我试图通过代码提高效率,但是我却放屁了。我编写的这段代码很好用,并且完全满足我的需要:它检查一个数组并删除一个未知索引处的Object。但是我觉得有一种更好,更有效的编写方法。我去了Array.remove(at

:),但这需要一个已知的索引。我正在使用大的O表示法,并且不知道如何使它更易于处理。有任何想法吗?

 // create a new object array

var sort : [MyCustomObject] = []

//iterate through my object array

for i in objectArray{

if i === objectToRemove{

}

else{

sort.append(i)

}

}

// set old array to sort, which no longer has the unwanted object

self.objectArray = sort

回答:

使用firstIndex(where:)index(where:)

和更早版本中先前称为)使用谓词在数组中搜索对象{ $0 === objectToRemove

},然后调用remove(at:)该数组将其删除:

if let idx = objectArray.firstIndex(where: { $0 === objectToRemove }) {

objectArray.remove(at: idx)

}

这使您可以搜索对象是否Equatable存在。

以上是 Swift:从数组中删除特定对象的更好方法? 的全部内容, 来源链接: utcz.com/qa/405441.html

回到顶部