У нас есть практика использования безопасного индекса при доступе к любому элементу в коллекции.Ниже приведено расширение, которое у нас есть.
extension Collection {
subscript(safe index: Index) -> Element? {
return indices.contains(index) ? self[index] : nil
}
}
Но когда я пытаюсь использовать это с объектом привязки, оно выдает мне сообщение: 1004 *
Метка постороннего аргумента 'safe:'в нижнем индексе
Ниже приведен проблемный код
struct MyView: View {
@ObservedObject var service: service
var body: some View {
List {
ForEach(service.items.indices) { index in
Toggle(isOn: self.$service.items[safe: index]?.isOn ?? false) { // Error: Extraneous argument label 'safe:' in subscript
Text("isOn")
}
}
}
}
}