我在传递具有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作为参数传递。