我制作了一个小型测试应用程序,通过rest从服务器获取用户数据。服务器以JSON数据的形式响应数据。问题是,当im试图解析用户类中的数据时,我的应用程序会与execpion崩溃:
Thread 1: EXC_BAD_INSTRUCTIONS当我解析视图控制器中的json数据时,它可以工作。以下是崩溃代码的预览:
ViewController.swift:
func connectionDidFinishLoading(connection: NSURLConnection!) {
var dataAsString: String = NSString(data: self.data, encoding: NSUTF8StringEncoding)
var err: NSError
var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data,
options: NSJSONReadingOptions.MutableContainers,
error: nil) as NSDictionary
var results: NSDictionary = jsonResult["results"] as NSDictionary
var userData: NSDictionary = results["user"] as NSDictionary
let user: User = User(initFromJSONData: userData)User.swift:
init(initFromJSONData user: NSDictionary) {
self.id = user["id"] as Int它以Int的形式崩溃到用户“id”。当我在ViewController上做同样的事情时,它就起作用了。有人能解释一下为什么是这样的吗?应该怎么做呢?
谢谢大家!
发布于 2014-06-27 05:49:40
NSNumber不能直接转换到Int。试试这个:
let id = user["id"] as NSNumber
self.id = id.integerValuehttps://stackoverflow.com/questions/24440621
复制相似问题