I get the error "Type 'Ship' has no subscript members when I try to do:
var coor = ship[index]
I tried to do
var coor = ship?[index] as? Coordinate
But I get this error: "Cannot use optional chaining on non-optional value of type 'Ship'"
Here's my Ship
class:
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")
}
}
The Coordinate
class is also of type NSObject, NSCoding
, etc...
The objects seem to be in the array when I load them (from NSUserDefaults
)? How do I get them out?!
ship.shipCoors?[index]
– Centauruscount
property getter can just bereturn shipCoors?.count ?? 0
btw. – Centaurus