Swift 3 belgelerine göre, NSNumber, Int, Float, Double gibi Swift yerel türlerine köprüler ... Ancak, Sözlük'te yerel bir tür kullanmayı denediğimde derleme hataları alıyorum NSNumber kullanarak sabit olsun, neden bu? İşte benim kodudur:NSNumber vs Int, Swift Dictionary'de Float
var dictionary:[String : AnyObject] = [:]
dictionary["key"] = Float(1000)
ve derleyici "AnyObject tip Float değerini atanamıyor" hatası vermeye başladı. Kodu aşağıdaki gibi yazarsam, NSNumber aslında bir nesne türü olduğu için sorun yoktur.
dictionary["key"] = NSNumber(value:Float(1000))
Swift derleyici da
dictionary["key"] = Float(1000) as AnyObject
olarak kod düzeltmek ister ama bunu yapmak ya da değil doğru şey olup olmadığından emin değilim. Gerçekten de NSNumber ile yerel türler (Int, Float, vb.) Arasında bir köprüleme var ise, derleyici neden AnyObject’e tiplendirmeyi zorluyor?
İlgili: http://stackoverflow.com/questions/39321421/working-with-nsnumber-integer-values-in-swift- 3 –