【发布时间】:2015-01-09 06:39:43
【问题描述】:
我正在使用下面的函数从 swift 中检索数据。但我在“results.objectAtIndex(i) as NSDictionary”行中遇到错误。我不知道什么错误以及为什么会出现该错误?请阅读我的代码并指导我!
func parse_db() {
var sto_tit = [String] ()
var results : NSArray = NSArray()
var par_object : NSDictionary = NSDictionary()
var par_query = PFQuery(className: "story")
par_query.whereKeyExists("story_title")
par_query.findObjectsInBackgroundWithBlock({(NSArray objects, NSError error) in
if (error != nil) {
NSLog("error " + error.localizedDescription)
} else {
results = NSArray(array: objects)
for i in 0...results.count {
println(i) //This line working
par_object = results.objectAtIndex(i) as NSDictionary //Error
sto_tit = par_object.objectForKey("story_title") as Array
}
NSLog("results %@", sto_tit)
}
})
}
错误如下: 0 (lldb)
{
libswiftCore.dylib`swift_dynamicCastObjCClassUnconditional:
0x10adfc620: pushq %rbp
0x10adfc621: movq %rsp, %rbp
0x10adfc624: pushq %rbx
0x10adfc625: pushq %rax
0x10adfc626: movq %rsi, %rcx
0x10adfc629: movq %rdi, %rbx
0x10adfc62c: xorl %eax, %eax
0x10adfc62e: testq %rbx, %rbx
0x10adfc631: je 0x10adfc64c ;swift_dynamicCastObjCClassUnconditional
+ 44
0x10adfc633: movq 0x82756(%rip), %rsi ; "isKindOfClass:"
0x10adfc63a: movq %rbx, %rdi
0x10adfc63d: movq %rcx, %rdx
0x10adfc640: callq 0x10adff1ca ; symbol stub for: objc_msgSend
0x10adfc645: testb %al, %al
0x10adfc647: movq %rbx, %rax
0x10adfc64a: je 0x10adfc653 ; swift_dynamicCastObjCClassUnconditional + 51
0x10adfc64c: addq $0x8, %rsp
0x10adfc650: popq %rbx
0x10adfc651: popq %rbp
0x10adfc652: retq
0x10adfc653: leaq 0xcdc8(%rip), %rax ; "Swift dynamic cast failed"
0x10adfc65a: movq %rax, 0x8ae57(%rip) ; gCRAnnotations + 8
0x10adfc661: int3
0x10adfc662: nopw %cs:(%rax,%rax)
}
【问题讨论】:
标签: swift parse-platform xcode6 nsdictionary