我的ViewController中有以下代码。我想重构它以使用NSSet.objectsPassingTest()
,因此它更简洁,更容易理解。我正在使用Swift,所以没有Objective C.。
let items = feed.items?.allObjects as! [Item]
var unreadCount = 0
for item in items {
if !item.read {
unreadCount = unreadCount + 1
}
}
我花了几个小时搜索,但我找不到一个我能理解的例子。
如果不清楚,我想将let items = feed.items?.allObjects as! [Item]
替换为let items = feed.items?.objectsPassingTest()
。
答案 0 :(得分:3)
另一种方法
let unreadCount = items.filter { !$0.read }.count
答案 1 :(得分:2)
看起来你的{{1}}是数组而不是数组。试试这个:
{{1}}