【发布时间】:2014-04-15 07:07:49
【问题描述】:
所以我可以将数据存储到我的解析类中,但我无法读出这些值。
这是我声明我的 Userinfo 类和我的 User 类之间的关系的地方:
PFObject *userObject = [PFObject objectWithClassName:@"UserInfo"];
[userObject setObject:[PFUser currentUser] forKey:@"Username"];
然后我在 UserInfo 类中设置值并正确存储,但是当我从数据库中读取值时,我没有读出任何对象。
PFQuery *load =[PFQuery queryWithClassName:@"UserInfo"];
[load whereKey:@"Username" equalTo:[PFUser currentUser]];
[load findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
if(!error)
{
if (!error) {
infoArray = [[NSArray alloc] initWithArray:objects];
NSLog(@"Successfully retrieved %d obj.", infoArray.count); //this comes back as zero
NSLog (@"idummy %@", infoArray);
}
}
}];
我觉得我很接近但错过了一步,我还检查了我的代码中没有执行任何代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
除了我的解析密钥和客户端 ID。
更新:
所以我已经弄清楚了上面的问题:
NSString *ObjID=curr.objectId;
PFQuery *load =[PFQuery queryWithClassName:@"UserInfo"];
[load whereKey:@"objectId" equalTo:ObjID];
当我 @"adf234" 为 equalTo 时它可以工作,但是我是否可以根据 NSString ObjID 值进行搜索?因为当我像上面那样放置 ObjID 时它不起作用。
【问题讨论】:
-
你在
findObjectsInBackgroundWithBlock的error对象中得到了什么? -
您在哪里保存以及如何验证保存是否有效?
-
我在 UserInfo 类中保存用户的基本信息,例如姓名、帐单地址、电子邮件、电话号码。我想在用户登录时将其显示在标签页上。我通过登录到我的解析帐户验证它正在保存,它显示了我在子类 UserInfo 中为用户注册的正确数据。跨度>
-
你在某处运行
[userObject saveInBackground ...吗? -
是的,一旦用户点击注册,我就会这样做。