为啥这个 AFNetworking 块中的变量都显示为 nil(快速)?

Posted

技术标签:

【中文标题】为啥这个 AFNetworking 块中的变量都显示为 nil(快速)?【英文标题】:Why are the variables all showing as nil in this AFNetworking block (in swift)?为什么这个 AFNetworking 块中的变量都显示为 nil(快速)? 【发布时间】:2014-07-29 03:15:51 【问题描述】:

我将我的项目链接到 AFNetwork 并拥有以下示例代码:

var manager: AFHTTPRequestOperationManager = AFHTTPRequestOperationManager(baseURL:     NSURL(string: "http://api.openweathermap.org"))

manager.GET("data/2.5/weather", parameters: nil, success:(operation: AFHTTPRequestOperation!, obj: AnyObject!) in
    println("success!")
        ,
        failure:(operation: AFHTTPRequestOperation!, error: NSError!) in
            println("fail!")
        
)

如果我成功设置断点,则 obj 和 operation 都是“nil”:

po operation
po obj

但在变量下,操作说:

operation   Swift.ImplicitlyUnwrappedOptional<__ObjC.AFHTTPRequestOperation>    0x7b029e30  0x7b029e30

obj 说:

obj Swift.ImplicitlyUnwrappedOptional<AnyObject>    (instance_type = Builtin.RawPointer = 0x7b02c3b0 -> 0x00ea2940 (void *)0x00ea2954: OBJC_METACLASS_$___NSCFDictionary)   Some

知道如何打印出这些值吗?谢谢!

【问题讨论】:

【参考方案1】:

这对我成功关闭 println("operation: \(operation)")

有用

【讨论】:

【参考方案2】:

这适用于我的 Xcode6:

frame variable data
(NSDictionary) data = 0x7c4909d0 1 key/value pair 
  [0] = 
    key = 0x7c48ff20
    value = 0x7c4909a0
  

命令为帧变量xxx

【讨论】:

以上是关于为啥这个 AFNetworking 块中的变量都显示为 nil(快速)?的主要内容,如果未能解决你的问题,请参考以下文章

将块中异步接收的 JSON 对象传递给实例变量 - 在 iOS6 上使用 AFNetworking

在 AFNetworking 2 的失败块中访问 JSON 响应

类块中定义的名称范围不会扩展到方法块。这是为啥?

AFNetworking 在失败块中获取 responseObject

为啥在匿名 PL/SQL 块中没有立即引发异常?

为啥这个 API 在 AFNetworking 中将其响应作为“失败”返回,而它正是它应该是的并且状态码是 200?