2017-08-09 143 views

回答

8

你swiftlint配置首选的语法是:

for settingsKeys in searchResults where settingsKeys.key == settingsObject.key { 
    settingsKeys.value = settingsObject.value 
    try context.save() 
} 

哪与

相似
for settingsKeys in (searchResults.filter { $0.key == settingsObject.key }) { 
    settingsKeys.value = settingsObject.value 
    try context.save() 
} 

如果你知道有结果只有一个具有相同key,你可能会直接使用

if let settingsKeys = (searchResults.first { $0.key == settingsObject.key }) { 
    settingsKeys.value = settingsObject.value 
    try context.save() 
} 
+0

如果你想要使用过滤器的相同行为,你需要'.lazy.filter' – Alexander

+0

@Alexander True,不想进入这样的细节。 – Sulthan

2

看起来像它期待wherefor的一部分......

for settingsKeys in searchResults where settingsKeys.key == settingsObject.key { 
    settingsKeys.value = settingsObject.value 
    try context.save() 
}