ios - 将 PFObject 设置为 UILabel

标签 ios parse-platform pfquery

我创建了一个名为 UserInfo 的 PFObject。所有内容都正确保存到 Parse,但是当我去检索它时,我不断收到错误。下面是我的代码。

PFQuery *query = [PFQuery queryWithClassName:@"UserInfo"];
[query whereKey:@"user" equalTo:currentUser];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    if (error) {
        NSLog(@"Error: %@ %@", error, [error userInfo]);
    } else {
        self.userInfo = objects;
        NSLog(@"%@", self.userInfo);

        self.locationDisplay.text = [self.userInfo valueForKey:@"location"];

    }
}];

错误的NSLog输出如下:

-[__NSArrayI length]: unrecognized selector sent to instance 0x9aa2be0 

提前感谢您的帮助!

最佳答案

查询findObjectsInBackgroundWithBLock:objects 中存储一个数组.

完成后,您可以设置属性 userInfo用行指向这个数组

self.userInfo = objects;

所以基本上在这里,self.userInfo持有对数组的引用。

当您尝试设置标签时,您调用方法 valueForKey:直接在阵列上。我相信您想在此数组内的对象上调用此方法。

您可以尝试将行更改为:

self.locationDisplay.text = [[self.userInfo firstObject] valueForKey:@"location"];

这将查找键值 @"location"在数组的第一个对象上,它应该是 PFObject .

注意:您应该首先测试 objects在调用此行之前不是空数组,否则您可以尝试调用 valueForKey:nil 上对象,如果数组为空。

关于ios - 将 PFObject 设置为 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25142060/

相关文章:

ios - 将数百个 PFObject 保存到 Parse 云

swift - 如何显示用户在提要上发布消息的时间?

swift - 将解析指针设置为 PFUser 以外的类

ios - 在 ViewController 之间传递数据可以正常工作,但不能与 Tab Bar Controller 一起传递

ios - NSNumberFormatter.numberFromString() 为 ar-SA 语言环境返回 nil

xcode - 无法使用解析本地数据存储保存和查询数据

javascript - 使用 Parse 并尝试在 JavaScript 中解析数据库条目

ios - 如何知道 UITableView 何时完成 reloadData?

iphone - 将 indexpath 值传递给 FirstViewController

javascript - 使用 JavaScript 在解析中保存图像