RubyMotion ile bir uygulama oluşturduktan sonra, bu uygulama Swift ile xCode uygulamasında uygulamalar geliştirme konusundaki ilk deneyimim.Hızlı dinamik dökümü, HTTP GET isteği ile başarısız oldu
Rails API'sındaki tüm yayınları almak için aşağıdaki kodu kullanıyorum, istek başarılı ancak JSON'u ayrıştırma bir hata veriyor.
kodu:
func loadData() {
let url = NSURL(string: "http://localhost:3000/api/posts")
let task = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: {(data, response, error) in
var err: NSError?
var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &err) as NSDictionary
})
task.resume()
}
hatası: önceden
libswift_stdlib_core.dylib`swift_dynamicCastObjCClassUnconditional:
0x103dbae20: pushq %rbp
0x103dbae21: movq %rsp, %rbp
0x103dbae24: pushq %rbx
0x103dbae25: pushq %rax
0x103dbae26: movq %rsi, %rcx
0x103dbae29: movq %rdi, %rbx
0x103dbae2c: xorl %eax, %eax
0x103dbae2e: testq %rbx, %rbx
0x103dbae31: je 0x103dbae4d ; swift_dynamicCastObjCClassUnconditional + 45
0x103dbae33: movq 0x72b66(%rip), %rsi ; "isKindOfClass:"
0x103dbae3a: movq %rbx, %rdi
0x103dbae3d: movq %rcx, %rdx
0x103dbae40: callq *0x5e212(%rip) ; (void *)0x0000000105b6f000: objc_msgSend
0x103dbae46: testb %al, %al
0x103dbae48: movq %rbx, %rax
0x103dbae4b: je 0x103dbae54 ; swift_dynamicCastObjCClassUnconditional + 52
0x103dbae4d: addq $0x8, %rsp
0x103dbae51: popq %rbx
0x103dbae52: popq %rbp
0x103dbae53: retq
0x103dbae54: leaq 0xe427(%rip), %rax ; "Swift dynamic cast failed"
0x103dbae5b: movq %rax, 0x7974e(%rip) ; gCRAnnotations + 8
0x103dbae62: int3
0x103dbae63: nopw %cs:(%rax,%rax)
teşekkürler! nil
o zaman bu kadar çökmesine yol döküm tip NSJSONSerialization.JSONObjectWithData()
den nil
alacak davanız verilerde
Eğer JSON paylaşabilir miyim o Aldığınız? Bir dizi nesne aldığınızı varsayalım, yani 'NSArray' 'a atmalısınız. – Keenle
Gerçekten bir dizi nesneydi. NSDrup’ı NSArray’a değiştirerek problem çözüldü. Yardım ettiğin için teşekkür ederim! –