2013-03-20 34 views
3

我已經開始爲項目進行Facebook集成,並且遇到了問題。我試圖將登錄的用戶存儲爲本地對象,以便以後可以引用這些信息,但我似乎無法控制這些信息。Facebook SDK FBGraphUser無法存儲本地副本

這裏是我獲取用戶數據功能:

if(_session.isOpen) 
{ 
    [FBSession openActiveSessionWithReadPermissions:nil 
             allowLoginUI:YES 
            completionHandler:^(FBSession *session, 
                 FBSessionState state, 
                 NSError *error) 
    { 

     [[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, 
                NSDictionary<FBGraphUser> *user, 
                NSError *error) 
      { 
      if(!error) 
      { 
       NSLog(@"Username: %@",user.name); 

       [_user initWithDictionary:user]; 
       NSLog(@"Username: %@",[_user objectForKey:@"name"]); 

      } 
      else 
      { 
       NSLog(@"Couldn't get user details!"); 

      } 

      }]; 
    }]; 

}//endif 

在這種情況下,NLOG給出「用戶名:(空)」

我是很新,既ObjC和Facebook等等我不確定我做錯了什麼。此外,我試圖創建一個成員變量:

@property (strong, nonatomic) NSDictionary<FBGraphUser> *loggedInUser; 

和以前我的代碼,用於存儲用戶是

if(!error) 
      { 
       NSLog(@"Username: %@",user.name); 

       _user = user; 
       NSLog(@"Username: %@", _user.name); 

      } 
      else 
      { 
       NSLog(@"Couldn't get user details!"); 

      } 

由於這些都不工作(第二工作只要第二的NSLog給出了正確變量,但後來試圖在這個函數之外訪問它導致崩潰)我只能假設我沒有正確存儲信息。

有人可以給我一些關於我做錯了什麼的指針嗎?

回答

0

您需要打印user.usernameuser.name

+1

試圖訪問user.username當我得到空 – 2014-07-17 15:17:49