ayrıştırılırken 'AnyObject'den aşağıya yayınlanamıyor' varolan bir projeyi Swift'e aktarmaya çalışırken, daha çok bir öğrenme alıştırması yapmaktayım ama bence oldukça basit bir sorun var. Benim AnyObject anlayışımla ilgili olmadığını düşünüyorum.JSON dizilimi
Ben bir dizi değişkene oluşur ve olarak başlatıldığını • Bir nesneyi oluşturduk: Sonra JSON veri almak için NSURLConnection kullanıyorum
var customObject:MycustomObject = MYcustomObject()
ve bu her jsonArray olarak düzgün çalışıyor gibi görünüyor sonra dizide döngü ve veri ayrıştırmak çalışılıyor verilere
jsonArray = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSArray
doldurulur ve sorunlar yaşıyorum burada bu AnyObject için döngü varsayılan detaylar için, niteliğinde değildir.
for details:AnyObject in jsonArray {
parseDetail(details as NSDictionary)
}
sorun TamsayıDeğer ilgilidir onun bir hata
func parseDetail(element: NSDictionary) {
self.customObject.stringValue = element["id"] as String
self.customObject.integerValue = element["type"] as Integer
}
da görünüyor " 'AnyObject' dan @ objc .... olmayan hiç mahzun Can not" bazı farklılıklar olması üreten NSString & Dize çalışıyoruz, şu ana kadarki anlayışım, Swift'i kullanırken, Sting, Float Integer vb. yerel türlerini kullanmalıyım. NSString kullanırsam, stringValue hata ayıklama penceresinde doğru görüntüleniyor, ancak dize I türünü kullanırken aşağıdakileri edinin:
{
core = {
_baseAddress = Builtin.RawPointer = 0x0b227f49
_countAndFlags = 1073741828
_owner = Some {
Some = (instance_type = Builtin.RawPointer = 0x0b227f40 -> 0x006d58f0 (void *)0x006d58c8: __NSCFString)
}
}
}
Üzgünüm, bu biraz uzun ama iş parçacığı hakkında bir bilgi var mı?
NSThread.detachNewThreadSelector(Selector: parseDetail(), toTarget: self, withObject: nil)
neden bir nsarry yerine hızlı bir dizi kullanıyorsunuz? – connor
Döngüde tip belirtmediniz mi? (Yani, 'jsonArray'daki ayrıntılar için) – Jiaaro
İlk soruya verilen yanıt bu makalede ele alınmıştır: [Kakao Veri Türleriyle Çalışma - Diziler] (https://developer.apple.com/library/prerelease/ios/documentation/ Swift/Conceptual/BuildingCocoaApps/WorkingWithCocoaDataTypes.html) İkinci soruya gelince, [arama] (https://developer.apple.com/library/prerelease/ios/search/?q=detachNewThreadSelector) yalnızca ilgili belgeleri değil, Ayrıca, bu yöntemi kullanan uygulamaları da örnekleme. –