Как правильно использовать подготовиться к переходу на Структуры? - PullRequest
0 голосов
/ 06 февраля 2019

Я не могу получить доступ к своим данным Struct, данным в VC1, в VC2, что мне здесь не хватает?

Я перепробовал кучу вещей, и единственный способ получить доступ к данным - объявить переменнуюв VC2 вот так: var contactsOfUser: ContactStruct?, однако это вызывает ошибку в VC1 при подготовке к переходу, говоря:

Невозможно присвоить значение типа '[ContactStruct]' для типа 'ContactStruct?'

В любом случае, вот мой код, возможно, я где-то напутал:

VC1:

//here i use performSegue:

DispatchQueue.main.async { [weak self] in
                        self?.performSegue(withIdentifier: "inviteFriends", sender: nil)


override func prepare(for segue: UIStoryboardSegue, sender: Any?) {


        if segue.identifier == "inviteFriends"{
            let dest = segue.destination as! LetsInviteFriendsViewController
            dest.contactsOfUser = self.contacts

        }


    }

VC 2:

    var contactsOfUser: ContactStruct?


        @IBOutlet weak var tableView: UITableView!

            override func viewDidLoad() {
            super.viewDidLoad()

            print(contactsOfUser?.givenName)

1 Ответ

0 голосов
/ 06 февраля 2019

Сообщение об ошибке довольно ясно.Вы пытаетесь передать массив ContactStruct из VC1 и назначить этот массив свойству contactsOfUser, которое вы объявили как один ContactStruct.Просто измените его на массив.

VC2: var contactsOfUser = [ContactStruct]()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...