Je suis en train de faire une boucle dans mon code comme ceci:Impossible jeter la valeur de type « NSTaggedPointerString » (0x10146ecd8) à « NSNumber » (0x102675600)
for row in rows! {
print("Row",row)
let pin = Pin.init(latitude: row[0] as! Float, longitude: row[1] as! Float, pinType: row[2] as! String, beaconID: row[3] as! Int, altitude: row[4] as! Float)
pinList.append(pin)
}
Ici, la ligne est un Any
et je crée l'objet pin en fonction des valeurs de la ligne.
Voici mon Pin Classe:
class Pin {
var latitude:Float
var longitude:Float
var pinType:String
var beaconID:Int
var altitude:Float
init(latitude:Float, longitude:Float, pinType:String, beaconID:Int, altitude:Float){
self.latitude = latitude
self.longitude = longitude
self.pinType = pinType
self.beaconID = beaconID
self.altitude = altitude
}
}
Mais j'eu cette erreur:
Could not cast value of type '
NSTaggedPointerString
' (0x10146ecd8) to 'NSNumber
' (0x102675600).
alors que je suis en train de créer l'objet Pin.
Quelqu'un peut-il m'aider à résoudre ce problème? Merci.
Veuillez montrer la sortie de 'print (" Row ", row)' – 3stud1ant3
Voici la valeur de Row [1.283364, 103.815021, yellow, 1, 20]. J'ai trouvé le moyen de résoudre de façon inattendue :) merci pour votre temps. –
Copie possible de [Impossible de convertir la valeur de type 'NSTaggedPointerString' en 'NSNumber'] (https://stackoverflow.com/questions/33299202/could-not-cast-value-of-type-nstaggedpointerstring-to-nsnumber) –