Я работаю над учебником, и у меня есть вопрос о том, как мы получаем доступ к массивам в Swift. Мне было интересно узнать, что произойдет, если я буду использовать тип IndexPath напрямую, так как я предполагаю, что этот тип представляет путь к определенному узлу в дереве или массиве. Однако, следующая функция показывает ошибку на линии, которая возвращает, который говорит: "Cannot subscript value of type [ToDoItem] with an index of type IndexPath"
Использование типа Int по сравнению с типом IndexPath в Swift
func item(at indexIWant: IndexPath) -> ToDoItem {
return toDoItems[indexIWant]
}
Мне просто интересно узнать, что это означает в терминах непрофессионала, и почему это не приемлемо?
Вот код учебника и компиляции, который использует тип Int вместо типа IndexPath.
import Foundation
class ItemManager {
var toDoCount: Int = 0
var doneCount: Int = 0
private var toDoItems: [ToDoItem] = []
func add(_ item: ToDoItem) {
toDoCount += 1
toDoItems.append(item)
}
func item(at index: Int) -> ToDoItem {
return toDoItems[index]
}
}