2014-04-15 77 views
0

所以我能夠將數據存儲到我的分析類中,但是我無法讀出這些值。PFQuery不會返回值

這是我聲明我USERINFO類和我用戶類之間的關係:

PFObject *userObject = [PFObject objectWithClassName:@"UserInfo"]; 
[userObject setObject:[PFUser currentUser] forKey:@"Username"]; 

我則在用戶信息類的設定值,並正確地存儲,但是當我去翻閱數據庫中的值我沒有得到任何對象被讀出。

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。

UPDATE:

所以我想通了上述問題:

的NSString *的ObjID = curr.objectId;

PFQuery *load =[PFQuery queryWithClassName:@"UserInfo"]; 
[load whereKey:@"objectId" equalTo:ObjID]; 

它工作時,我@「adf234」爲equalTo,但有我來搜索基於NSString的ObjID的價值?因爲當我像上面那樣放置ObjID時它不起作用。

+1

你怎麼得到*在'findObjectsInBackgroundWithBlock'錯誤*對象? –

+0

你在哪裏儲蓄,你是如何驗證保存工作? – Wain

+0

我在UserInfo類中保存有關用戶的基本信息,例如姓名,帳單地址,電子郵件,電話號碼。我想在用戶登錄時將其顯示在標籤頁上。我通過登錄到我的分析帳戶驗證了它正在保存,並且它顯示了我在UserInfo子類中爲用戶註冊的正確數據。 – user3528365

回答

0

簡單地改變

PFQuery *load =[PFQuery queryWithClassName:@"UserInfo"]; 
/*[load whereKey:@"Username" equalTo:[PFUser currentUser]];*/ No need of this 

[query includeKey:@"Username"]; 

[load findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){ 
if(!error) 
{ 
    if (!error) 
    { 
     NSDictionary *dict = [objects objectAtIndex:0]; 
     NSLog(@"Successfully retrieved %d obj.",[[dict objectForKey:@"Username"] objectForKey:@"username"]); 

     /* I was also getting it null but if you try to nslog [PFUSer currentUser] you will get details but I tried for object key pair then got details so similarly you will get all other details of user by providing different keys.*/ 
    } 
} 
}]; 
+0

這返回一個用戶名,我想獲取當前用戶登錄的特定信息。 – user3528365

+0

這也不是當前用戶登錄的用戶名。 – user3528365

+0

這提供了當前用戶的詳細信息,我創建了一個演示,但如果您只是輸入,[[PFUSer當前用戶] objectForKey:@「COLUMN_NAME_YOU_WANT_INFO_ABOUT」];然後你可以得到關於當前用戶的具體信息。 – nikhil84