Более масштабируемое решение - начать проектирование объектно-ориентированным способом, чтобы в будущем, если у вас было больше информации о человеке, который требуется хранить, вы можете добавить это в структуру.
struct Person {
let name: String
let ID: Int
}
Затем определите массив persons
как свойство.
var persons = [Person]()
Всякий раз, когда вы получаете значения, заполняйте массив, например, из ViewDidLoad()
.
// populate persons
// assuming the personsData = [(id: name), (id: name), ....]
for (key, value) in personsData {
persons.append(Person(name: value, id: key))
}
Внутри cellForRowAt
вы можете получить объект отдельного человека и выбрать из него необходимое имя и идентификатор.
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let person = persons[indexPath.row]
cell.textLabel.text = person.name
}
То же самое вы можете взять person.id
из didSelectRowAt
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let person = persons[indexPath.row]
// doSomething with `person.id`
}