我有两个数组
var availableIndex: Int[] = [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14]
var answerIndex: Int[] = [1, 3, 10, 8]
我想从 availableIndex 数组中删除 1, 3, 10, 8 。我已经看过文档如何使用 removeObjectsInArray 实现这一目标
availableIndex.removeObjectsInArray(answerIndex)
但我不能使用那个方法,它给了我一个错误。我不知道我的错在哪里。对不起,如果我的英语不好
编辑:
这是错误“Int[]”没有名为“removeObjectsInArray”的成员
最佳答案
正确的 Swifty 方法是
availableIndex = availableIndex.filter { value in
!answerIndex.contains(value)
}
(将仅使用
answerIndex
中不包含的值创建一个新的过滤数组)当然,更好的解决方案是将
answerIndex
转换为 Set
。removeObjectsInArray
仅在 Obj-C 可变数组 ( NSMutableArray
) 上定义。Obj-C 的解决方法是将数组直接定义为
NSMutableArray
var availableIndex: NSMutableArray = [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14]
var answerIndex: Int[] = [1, 3, 10, 8]
availableIndex.removeObjectsInArray(answerIndex)
关于swift - 如何快速使用 removeObjectsInArray,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24382273/