如何解决:无法将类型“ ViewController.Person.Type”的值转换为预期的参数类型“ View”

时间:2019-09-23 01:27:24

标签: swift uibutton instance-variables ibaction function-call

我在传递具有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
        }


        }

当我在add IBAction函数中调用addContact()函数时出现错误。虽然我可以在我首先在模型类中编写的原始函数中传递它,但不允许将person struct作为参数传递。

0 个答案:

没有答案