Я хочу добавить новый объект к моему массиву, который определяется как var в моем приложении Swift, но, несмотря на то, что я определял его как var, при попытке добавить его произошла следующая ошибка.
`Immutable value of type 'Any[]' only has mutating members named 'append'`
Здесь мой код:
var contactsArray: Any[]!
func popoverWillClose(notification: NSNotification) {
if popoverTxtName.stringValue != "" && popoverTxtContactInfo.stringValue != "" {
contactsArray.append(makeDictionaryRecord(popoverTxtName.stringValue, withInfo: popoverTxtContactInfo.stringValue))
}
}
(makeDictionaryRecord(withInfo:) метод принимает два String и возвращает Dictionary<String, Any>)
Мой исходный код определяет contactsArray как let, и позже я обнаружил, что это была моя ошибка, поэтому я изменил его на var. Тем не менее, до сих пор ничего не делалось.
Я также изменил тип компонентов contactsArray на AnyObject[], Any[] и AnyObject[]!, но ничего не изменилось вообще.
(При этом, поскольку contactsArray должен принимать Dictionary внутри него, он должен быть определен как Any[] или Any[]!, так как Dictionary определяется как struct, если я его понимаю правильно.)
Что случилось с моим кодом? Как правильно добавить компонент в contactsArray?