在我的整个项目中,我可以完美地检查Alamofire的响应和数据
if fooData != nil {
//do stuff
}
在这种情况下,Swift似乎在检查实际传入类型是什么时遇到了问题
如果我打印它,我得到的是<null>
这应该是什么?一个null数组?对NSDictionary或NSArray的强制转换都失败了。
Rest响应与整个项目中始终相同,我可能会收到一个空值,并且它会被其他地方捕获。
€dit更多代码: 我的要求:
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
}
}
print语句给了我上面提到的空表示,但显然不能识别为nil
来自节点后端的响应为
index.sendJsonResponse(res, 200, null);
答案 0 :(得分:1)
在Playground中试用此代码:
let fooData:AnyObject = NSNull()
println(fooData)
打印<null>
。
fooData
不是nil
,而是NSNull