iOS8/Swift 来自 REST 服务的响应出现奇怪的空行为

iOS8/Swift strange null behaviour with response from REST service

在我的整个项目中,我可以完美地检查

的 Alamofire 响应和数据
if fooData != nil {
//do stuff
}

在这种情况下 Swift 似乎在检查实际传入类型时遇到问题

打印出来的结果是

<null>

这应该是什么?空数组?强制转换为 NSDictionary 或 NSArray 都失败。

其余响应与整个项目中的始终相同,我可能会收到一个空值,并且在其他任何地方都会被捕获。

€编辑更多代码: 我的要求:

       Alamofire.request(.GET, "\(CurrentConfiguration.serverURL)/api/users/\(CurrentConfiguration.currentUser.id)/friends/\(targetUser)",encoding:.JSON)
            .validate()
            .responseJSON {(request, response, friendData, error) in

    if friendData != nil {
     println(friendData!)

     //this is where the app obviously crashes as there is nothing inside of "friendData"
     let resp = friendData as NSDictionary 


    //load friendData into the UI
    }

}

打印语句给了我上面提到的 null 表示,但显然不能识别为 nil

来自节点后端的响应为

index.sendJsonResponse(res, 200, null);

在 Playground 中尝试此代码:

let fooData:AnyObject = NSNull()
println(fooData)

它打印 <null>.

fooData 不是 nil,而是 NSNull

的实例