2017-08-09 12 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() 
}