私はSwift=をアプリケーション開発に使用し、Swift lintを使用しています。しかし、次のコードに関する警告が表示されています。
for settingsKeys in searchResults {
if settingsKeys.key == settingsObject.key {
settingsKeys.value = settingsObject.value
try context.save()
}
}
スクリーンショットを添付します:
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
の結果が1つしかないことがわかっている場合は、直接使用できます
if let settingsKeys = (searchResults.first { $0.key == settingsObject.key }) {
settingsKeys.value = settingsObject.value
try context.save()
}
where
がfor
の一部であることを期待しているようです...
for settingsKeys in searchResults where settingsKeys.key == settingsObject.key {
settingsKeys.value = settingsObject.value
try context.save()
}