У меня проблемы с передачей функции, у которой есть параметр массива 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 в качестве параметра, хотя я могу передать ее в исходной функции, которую я сначала написал в классе модели.