这是导致问题的代码。我评论了错误发生的位置。此代码应该遍历返回的数据,并将字段附加到 NSSTring 类型的空数组中。
var bb = ["842278359156695", "850445345006243"]
//Get user friends data from Parse
var query = PFUser.query()
query.selectKeys(["first_name", "last_name", "score", "rank"])
query.whereKey("fbId", containedIn: bb)
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
var friendsArrays: [NSString] = []
for var i = 0; i < objects.count; ++i {
friendsArrays.append(objects["first_name"] as NSString) // ERROR here
}
println(friendsArrays)
}
}
但是,这不会发生,并导致此消息的标题中出现错误,其中显示。如果我删除"作为 NSString",则错误消息是:"找不到接受提供参数的'下标'重载"。
请迅速告知和回答。
您尝试应用下标的对象是 objects
,它是一个数组。您可能希望在第 i 个元素执行此操作:
for var i = 0; i < objects.count; ++i {
friendsArrays.append(objects[i]["first_name"] as NSString) // ERROR here
^^^
}
但是我建议将其转换为for-each 循环
for object in objects {
friendsArrays.append(object["first_name"] as NSString) // ERROR here
}