Как исправить: невозможно преобразовать значение типа 'ViewController.Person.Type' в ожидаемый тип аргумента 'View' - PullRequest
0 голосов
/ 23 сентября 2019

У меня проблемы с передачей функции, у которой есть параметр массива Structs внутри функции IBAction.

Я попытался создать экземпляр класса ContactsDB для выполнения необходимых мне операций (добавить контакт, обновить контакт и т. Д.) Внутри моих функций IBAction.Я создаю свое второе приложение для iOS, и у меня возникают проблемы с соединением точек между классом модели и синтаксисом функции, необходимым для кнопки.У меня есть 4 кнопки, которые соответствуют 4 операциям, необходимым в моем приложении базы данных.

class ContactsDB {  // define contactsDB class


        // define array 'contacts' as an array of structs (Person)
        // populate database with 3 'Person' structs
        var contacts = [Person(name: "Tom", email: "tom@gmail.com"), 
                        Person( name: "Brittney", email:"brittney@gmail.com"), 
                        Person( name: "Keisha", email: "keisha@gmail.com") ]

        #...

        static let instance = ContactsDB() 
        var currentContactIndex : Int = -1 // set database index behind the first contact (0)

        #...

        @IBAction func add(_sender: UIButton ) {

            addContact(contact: Person)
        }



        func addContact(contact: Person)  {  // define function to add contact to database

           contacts.append(contact) // adds new contact to end of contact database
           contacts.sort{$0.name < $1.name} //alphabetize newly added contact name
        }


        }

Я получаю сообщение об ошибке при вызове функции addContact () внутри функции add IBAction.Мне не разрешено передавать структуру person в качестве параметра, хотя я могу передать ее в исходной функции, которую я сначала написал в классе модели.

...