我有云代码,可以在用户访问朋友页面时搜索用户与其他用户的关系。
问题我正在填充我拥有的PFObject数组,它存储了用户朋友的信息,因此可以在tableview中显示。
这是我的云代码:
Parse.Cloud.define("getFriends", function(request, response) {
var userId = request.params.UserKey;
var query = new Parse.Query(Parse.User);
query.get(userId, {
success: function(foundCurrentUser) {
var currentUser = foundCurrentUser;
var relation = currentUser.relation("Friends");
var getRelationQuery = relation.query();
getRelationQuery.find().then(function(results){
response.success(results);
});
},
error: function(error) {
response.error(error);
}
});
});
我检查我的日志并得到正确的回复。它包含JSON中的正确数据。
现在问题就在于此。我的iOS应用程序中的云查询是让我感到悲伤的原因。
let currentUser: PFUser = PFUser.currentUser()!
let params = NSMutableDictionary()
params.setObject(PFUser.currentUser()!.objectId!, forKey: "UserKey")
PFCloud.callFunctionInBackground("getFriends", withParameters: params as [NSObject : AnyObject], block: {
(object:AnyObject?, error: NSError?) -> Void in
if error == nil {
self.currentUserFriendList.append(object as! PFObject)
}
else
{
println("didnt retrieve the carpoolers")
}
})
在代码行中,我遇到的问题是self.currentUserFriendList.append(object as!! PFObject)
,错误无法转换 '__NSArrayM' (0x111cd8448) to 'PFObject' (0x10fd8a818).
我想用
for object in objects {
self.currentUserFriendList.append(object as! PFObject)
}
但该块不是object:[AnyObject]
当我打印对象时,我得到包含在Optional中的正确关系,如此
Optional((
"<PFUser: 0x7fa5db4a6de0, objectId: 1FLleawAQz, localId: (null)> {\n Friends = \"<PFRelation: 0x7fa5db47b1a0, 0x0.(null) -> _User>\";\n email = \"test@test.com\";\n fullName = \"Tester \";\n profilePicture = \"<PFFile: 0x7fa5db4a0140>\";\n username = \"test@test.com\";\n}",
"<PFUser: 0x7fa5db47d5f0, objectId: nqFBQYIVjD, localId: (null)> {\n Friends = \"<PFRelation: 0x7fa5db5c97b0, 0x0.(null) -> _User>\";\n email = \"test2@test.com\";\n fullName = test2;\n profilePicture = \"<PFFile: 0x7fa5db554400>\";\n username = \"test2@test.com\";\n}"
))
答案 0 :(得分:0)
我能够得到正确输出的响应并将其附加到我的PFObjects数组中。
if error == nil {
let objects = response as! [PFObject]
for object in objects as [PFObject] {
self.currentUserFriendList.append(object as PFObject)
println("\(object)")
}