加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 为什么Xcode 6.3 beta调试器显示Swift NSData的字节数为1

发布时间:2020-12-15 01:59:53 所属栏目:百科 来源:网络整理
导读:在运行Swift 1.2的Xcode 6.3 beta测试中,我似乎从API中成功地检索了一个JSON对象,但调试器声称对象没有属性。 API正在本地主机上运行,??如下所示: NSURLConnection.sendAsynchronousRequest( request,queue: queue,completionHandler: completionHandler
在运行Swift 1.2的Xcode 6.3 beta测试中,我似乎从API中成功地检索了一个JSON对象,但调试器声称对象没有属性。 API正在本地主机上运行,??如下所示:

NSURLConnection.sendAsynchronousRequest( request,queue: queue,completionHandler: completionHandler )

completionHandler是一个带有断点的闭包:

let completionHandler =
{
  ( response: NSURLResponse!,data: NSData!,error: NSError! ) -> Void in
  // BREAKPOINT HERE
}

调试器显示在Xcode 6.3测试版与Swift 1.2数据:NSData!是一个190字节的ObjectiveC.NSObject,但没有属性,这似乎是矛盾的。我只想要我希望在这些字节中隐藏的JSON数据。我不知道调试器,或者是Swift 1.2需要更新的代码,还是我对某些东西的理解,还是别的都是怪事。我只想要JSON。

后记

JSON数据一直存在,正如字节数建议一样,得到它非常简单(使用SwiftyJSON):

let json = JSON( data: data )

Xcode 6.3 beta调试器中的属性发生了什么呢,仍然是一个谜。我没有将此作为我自己的问题的答案,因为它的工作原理可能不一定是答案。我对于Swift来说太新鲜了,知道实际的答案可能是什么,或者即使有一个。

解决方法

NSData是原始数据字节的封装,在将其转换为字符串或解析为JSON之前。

如果你想看这个数据包含什么,那么你可以使用NSJSONSerialization(让jsonDictionary = NSJSONSerialization.JSONObjectWithData(data,options:nil,error:nil))

然后读任何其他的字典:let value = jsonDictionary [“key”]

我希望这是有帮助的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读