'de boş diziler sözlüğünü başlatılıyor Swift'de boş dizileri başlatmaya başımı kaydırmaya çalışıyorum.Swift
var myStringArray: String[] = []
myStringArray += "a"
myStringArray += "b"
-> ["a", "b"]
ve tamsayılar
o da böyle NSImage nesneleri olarak nesnenin diğer türleri için çalışırvar myIntArray: Int[] = []
myIntArray += 1
myIntArray += 2
-> [1, 2]
için:
let path = "/Library/Application Support/Apple/iChat Icons/Flags/"
let image1 = NSImage(byReferencingFile: path + "Brazil.png")
let image2 = NSImage(byReferencingFile: path + "Chile.png")
var myImageArray: NSImage[] = []
myImageArray += image1
myImageArray += image2
-> [<NSImage 0x7fe371c199f0 ...>, <NSImage 0x7fe371f39ea0 ...>]
dizeleri oldukça yalındır var dizisi için
Ancak, boş bir Sözlük dizisini başlatmak için sözdizimini çözemiyorum. (MyNewDictArray ve myDictArray karıştırma) Aşağıdaki kodda bir hata oluştu ve düzeltilmiş zaman kokan:
let myDict1 = ["someKey":"someValue"]
let myDict2 = ["anotherKey":"anotherValue"]
var myDictArray = [myDict1]
myDictArray += myDict2
-> [["someKey": "someValue"], ["anotherKey": "anotherValue"]]
EDIT:
Ben bir başlangıç değeri ile başlatılıyor çalışır çünkü Sözlükler dizisi var biliyorum Söylediğim gibi çalışıyorum.
bu yok gibi:
let myDict1 = ["someKey":"someValue"]
let myDict2 = ["anotherKey":"anotherValue"]
var myNewDictArray: AnyObject = []
myDictArray += myDict1
myDictArray += myDict2
-> [["someKey": "someValue"], ["anotherKey": "anotherValue"]]
ancak
Bu (eğer sözdizimi olmasını beklediğiniz olan) başarısız: hata Cannot convert the expression's type 'Dictionary[]' to type 'Hashable'
var myNewDictArray: Dictionary[] = []
Yani soru, boş bir Sözlük Öğesi dizisini başlatmak için doğru yol nedir ve bu sözdizimi var myNewDictArray: Dictionary[] = []
neden çalışmıyor?
Evet, bu işe yarar. Bunu yapmanın iki yolu var mı? – dwkns
Swift, derleme zamanında * tip çıkarımını * kullanır; bu nedenle, bir değişken bildirirken ya türünü belirtebilir ('dictArray2' gibi) ya da derleyicinin çözebileceği bir şeyi ('dictArray3' gibi) atayabilirsiniz. İlk satır, gerekenden daha ayrıntılıdır, ancak derleyici bunu önemsemez. –
Swift 2 üzerinde değişiklik yapmalıyım var productImageArray: [Dictionary] = [] ** –
swiftBoy