У меня есть класс User, в котором много пользовательских данных. Как и в случае с контактным приложением, я хотел бы, чтобы когда кто-то нажимал на контакт, загружалась карточка контакта. Обычно я использую prepareForSegue и переход раскадровки для передачи значений String, Int, Array и т. д., но я не могу понять, как отправить значение типа User. На стороне отправки я настроил его правильно, но я не могу понять, как настроить представление приема. Причина, по которой я хочу отправить все это вместо использования точечного синтаксиса и захвата каждого элемента по отдельности, заключается в том, что (например, приложение контактов) я хочу, чтобы пользователь мог добавлять поля в карточку контакта, и я не хочу иметь чтобы ввести все данные, которые мне нужно передать, если мне не нужно.
Класс пользователя:
class User {
var firstName = ""
var lastName = ""
var email = ""
var birthday = ""
var team = ""
var schedule = ""
var service = ""
var position = ""
var phoneNumber = ""
var dateStarted = ""
var profileImgURL = ""
var notes = ""
init (firstName:String, lastName:String, email:String, birthday:String, team:String, schedule:String, service:String, position:String, phoneNumber:String, dateStarted:String, profileImgURL:String, notes:String) {
self.firstName = firstName
self.lastName = lastName
self.email = email
self.birthday = birthday
self.team = team
self.schedule = schedule
self.service = service
self.position = position
self.phoneNumber = phoneNumber
self.dateStarted = dateStarted
self.profileImgURL = profileImgURL
self.notes = notes
}
Отправитель:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "SeeContactCardSegue" {
if let destVC = segue.destinationViewController as? ContactCardTVC {
if let indexPath = tableView.indexPathForSelectedRow {
let user = users[indexPath.row]
destVC.user = user
}
}
}
}
Получатель:
var user:User = ???
Я получаю сообщение об ошибке, в котором говорится, что пользователя необходимо инициализировать, что я получаю в большинстве ситуаций, но я не уверен, как это инициализировать. Я что-то упускаю?