swift编程NSErrorPointer错误等

var data: NSDictionary = 
    NSJSONSerialization.JSONObjectWithData(responseData,options:NSJSONReadingOptions.AllowFragments,error: error) as NSDictionary;

这行代码给我错误

NSError is not convertable to NSErrorPointer.

所以我随后想到将代码更改为:

var data: NSDictionary =
     NSJSONSerialization.JSONObjectWithData(responseData,error: &error) as NSDictionary;

这将把NSError错误转换为NSErrorPointer。但是,然后我得到一个新的错误,不能理解它:

NSError! is not a subtype of '@|value ST4'
您的NSError必须定义为可选,因为它可以是nil:
var error: NSError?

您还想要解释在解析中有错误,它将返回nil或解析返回一个数组。要做到这一点,我们可以使用一个可选的铸造与as?运算符。

这给我们留下了完整的代码

var possibleData = NSJSONSerialization.JSONObjectWithData(
    responseData,error: &error
    ) as? NSDictionary;

if let actualError = error {
    println("An Error Occurred: \(actualError)")
}
else if let data = possibleData {
   // do something with the returned data
}

相关文章

Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章。自从苹果发布 Swfit 编程语言,就成为了...
快,快,快!动动您的小手,分享给更多朋友! 苹果去年推出了全新的编程语言Swift,试图让iOS开发更简单...
开发者(KaiFaX) 面向开发者、程序员的专业平台! 和今年年初承诺的一样,苹果贴出了Swift语言的源码,...
本文由@Chun发表于Chun Tips :http://chun.tips/blog/2014/12/11/shi-yong-swift-gou-jian-zi-ding-yi...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...