Для моего приложения IOS У меня есть модель что-то вродеКак создать набор пользовательских объектов (Swift)?
class Person {
var Id: Int
var Name: String
init(id: Int, name: String?) {
self.Id = id
self.Name = name ?? ""
}
}
Тогда позже в моей ViewController
, когда я загрузить данные с сервера, я добавить некоторые люди в массив
class ViewController: UIViewController {
var people:[Person] = []
override func viewDidLoad() {
self.loadPeople()
}
func loadPeople() {
// This data will be coming from a server request
// so is just sample. It could have users which
// already exist in the people array
self.people.append(Person(id: "1", name: "Josh"))
self.people.append(Person(id: "2", name: "Ben"))
self.people.append(Person(id: "3", name: "Adam"))
}
}
То, что я сейчас нахожусь попытка todo превратить массив people
в Set<Person>
, чтобы он не добавлял дубликаты. Возможно ли это сделать или мне нужно изменить свою логику?
Я лично использую 'XOR' для объединения хэшей, но +1 для включения в ваш ответ протокола' Hashable'. –
Hashable наследует от Equatable, поэтому объявление класса как класса Person: Hashable {...} 'было бы достаточно. Конечно, добавление Equatable явно не наносит вреда. –
@ egor.zhdan не могли бы вы объяснить сдвиг бит 15 часть и почему вы использовали 15 там? –