我想从数组A
中删除类[A]()
的自定义对象
我很清楚这是一个关于SO的讨论得很好的问题,但对于初学者或专家来说似乎没有一个通用和权威的答案。
示例:我有一个FriendRequest
类,其中包含一些属性。
当我接受FriendRequest
时,应将其从friendRequestArray
移除。
我正在寻找一个汇总最常见方法和最佳实践的答案;类似的东西:
从Swift 2.1开始,有3种方法(...)
请不要使用
X
,因为它已被弃用(...)
Y
是这样做的错误方法“等等。
答案 0 :(得分:3)
我不确定我理解这个问题,让我们看看。
你有FriendRequest
这样的课程
class FriendRequest {
let id: String
init(id: String) {
self.id = id
}
}
extension FriendRequest: Equatable {}
func ==(left: FriendRequest, right: FriendRequest) -> Bool {
return left.id == right.id
}
现在我们创建3 FriendRequest(s)
let request0 = FriendRequest(id: "000")
let request1 = FriendRequest(id: "001")
let request2 = FriendRequest(id: "002")
让我们创建requests
数组
var requests = [request0, request1, request2]
现在假设我们要删除request1
。我们需要找到索引(如果确实存在)并使用它来删除数组的元素。
if let index = requests.indexOf(request1) {
requests.removeAtIndex(index)
}
就是这样
requests // [{id "000"}, {id "002"}]
完成Swift 2.1.1和Xcode Playground 7.2。