я получаю ошибку «Тип„Корабль“не имеет членов подстрочных, когда я пытаюсь сделать:У пользователя нет подписчиков?
var coor = ship[index]
Я пытался сделать
var coor = ship?[index] as? Coordinate
Но я получаю эту ошибку:» Невозможно использовать дополнительные цепочки на неопциональном значении типа "Судовой»
Вот мой Ship
класса:
import Foundation
class Ship: NSObject, NSCoding {
var shipCoors: [Coordinate]?
var count: Int {
var count = 0
for _ in shipCoors! {
count++
}
return count
}
init(shipCoors: [Coordinate]) {
self.shipCoors = shipCoors
}
required init(coder decoder: NSCoder) {
self.shipCoors = decoder.decodeObjectForKey("shipCoors") as? [Coordinate]
}
func encodeWithCoder(coder: NSCoder) {
coder.encodeObject(shipCoors, forKey: "shipCoors")
}
}
Класс Coordinate
также имеет тип NSObject, NSCoding
и т. Д. Объекты, кажется, находятся в массиве при загрузке (от NSUserDefaults
)? Как я их вытащить ?!
Вы хотите 'ship.shipCoors?[index] ' – dan
Спасибо всем, удалось решить проблему! –
Ваш счетчик 'count' может быть просто' return shipCoors? .count ?? 0' кстати. – dan