У меня возникли проблемы с прохождением массива строк между содержащим приложением и приложением часов, и я разместил вопросом ранее о получении ошибки String is not identical to AnyObject
- 'String' is not identical to 'AnyObject' errorПроблем с отображением массива строк в таблице Watch App
Когда я отвечал на этот вопрос, я объявляющий массивы Сторожевой приложение как так:
var tempNames = [""]
var tempAmounts = [""]
var tempDates = [""]
Теперь я объявляя их так:
var tempNames = []
var tempAmounts = []
var tempDates = []
Это устраняет другую ошибку, однако теперь я получаю сообщение об ошибке в другой строке. Теперь, когда я пытаюсь отобразить строки в TableView, я получаю ошибку 'AnyObject' is not convertible to 'String'
. Вот мой код:
for (index, tempName) in enumerate(tempNames) {
let rowNames = recentsTable.rowControllerAtIndex(index) as RecentsTableRowController
rowNames.nameLabel.setText(tempName)
}
for (index, tempAmount) in enumerate(tempAmounts) {
let rowAmounts = recentsTable.rowControllerAtIndex(index) as RecentsTableRowController
rowAmounts.amountLabel.setText(tempAmount)
}
for (index, tempDate) in enumerate(tempDates) {
let rowDates = recentsTable.rowControllerAtIndex(index) as RecentsTableRowController
rowDates.dateLabel.setText(tempDate)
}
Я получаю ошибку на rowNames.nameLabel.setText(tempName)
линии.
Куда я иду не так?
Спасибо за ответ. Когда я это пробую, я получаю предложение изменить его на '[String]()', но когда я делаю эту коррекцию, ошибка '' String 'не идентична «AnyObject», происходит снова в той же строке, что и раньше. – user3746428
Обновлен до текущего синтаксиса. Посмотрел книгу Apple Swift, чтобы подтвердить, что я писал, был прав до исходного сообщения, но 'String []()' был изменен на '[String]()' во время их изменений API для Swift. –
Итак, используя код, который вы предложили, я теперь получаю ошибку '' String 'не идентичен «AnyObject» на «tempNames = defaults? .objectForKey (« namesWatch ») как строки NSArray', а ошибка '' String 'не является подтипом' Void'' в 'rowNames.nameLabel.setText (tempName) как? Строковые строки. Есть идеи? – user3746428