我在PFUser中有一個指針鍵,我試圖檢索它指向的對象。我見過很多例子有關查詢,但不應該有任何需要,由於解析有取方法,它是PFUser類的指針,所以我用這個:parse.com從當前用戶獲取指針數據
PFObject *menu = [[[PFUser currentUser] objectForKey:@"menuID"] fetchIfNeeded];
我知道我的當前用戶有一個對象指向該鍵,但我得到一個空菜單對象始終
我在PFUser中有一個指針鍵,我試圖檢索它指向的對象。我見過很多例子有關查詢,但不應該有任何需要,由於解析有取方法,它是PFUser類的指針,所以我用這個:parse.com從當前用戶獲取指針數據
PFObject *menu = [[[PFUser currentUser] objectForKey:@"menuID"] fetchIfNeeded];
我知道我的當前用戶有一個對象指向該鍵,但我得到一個空菜單對象始終
Wain在說你需要獲取當前用戶時是正確的。但是,您必須記住,如果您想使用fetchInBackground,我們正在使用多個線程。要保留單個線程,只需使用[[PFUser currentUser]提取],但請記住,當互聯網連接不良時,這可能會導致用戶掛起或阻塞。以下是如何更有效地使用此功能的示例。 (與fetch和fetchInBackground相同的菜單問題)我們也必須獲取菜單,因爲它是一個指針,所以currentUser將只獲取指針而不是整個對象。
[[PFUser currentUser] fetchInBackgroundWithBlock:^(PFObject *object, NSError *error) {
if(!error){
PFObject *menu = object[@"menuID"];
[menu fetch];
// Execute any code that needs the menu here, or store it in your viewController (or other class variable) if you need to save it for later
// Alternately, you could use this:
dispatch_async(dispatch_get_main_queue(), ^{
[menu fetchInBackgroundWithBlock:^(PFObject *fetchedMenu, NSError *menuError) {
if(!menuError){
// Execute any code that needs the menu here, or store it
} else {
NSLog(@"%@", menuError);
}
}];
});
} else {
NSLog(@"%@", error);
}
}];
默認情況下currentUser
沒有任何自定義添加的數據填充列。您需要獲取用戶下載該數據,然後您可以在本地使用它。
另外您的油我們雲代碼和保存網絡請求。
非常感謝你們,非常有幫助的解釋和例子 – adambargh