2015-01-21 29 views
0

我想要解決與解析和建立一個簡單的聊天應用程序。對於我登錄註冊代碼我有這樣的片段:PFInstallation並添加一個指針PFUser

PFInstallation *installation = [PFInstallation currentInstallation]; 
     installation[@"user"] = [PFUser currentUser]; 
     [installation saveInBackground]; 

此代碼連接一個PFInstallation到PFUser這麼一推可通過查詢用戶名來發送。

當應用程序加載時我第一次檢查,看看是否已經有登錄的用戶:

if ([PFUser currentUser]) { 
    [self performSegueWithIdentifier:@"showFriends" sender:nil]; 
} 

如果用戶已經登錄在節目的朋友視圖控制器被加載。我是否需要在此代碼中再次設置安裝以匹配用戶?即

if ([PFUser currentUser]) { 
     PFInstallation *installation = [PFInstallation currentInstallation]; 
     [installation[@"user"] = [PFUser currentUser]; 
     [installation saveInBackground]; 
     [self performSegueWithIdentifier:@"showFriends" sender:nil]; 


} 

或者是否有沒有需要,因爲用戶已經登錄?我是否認爲安裝文件是UNIQUE並且只創建一次,將設備與推送服務相匹配,因此除非我想更新我添加的PFUser字段,否則文件中沒有真正改變? 謝謝

回答

1

如果用戶已經登錄顯示好友視圖控制器加載。我是否需要在此代碼中再次設置安裝以匹配用戶?

編號安裝和用戶類獨立行事,但在你的情況下,因爲你設置了一個關係,那麼他們也可以一起行動。由於您已將其設置在應用程序didFinishLaunchingWithOptions:中,因此設備使用您提供的令牌(設備令牌)唯一標識了它的安裝,因此您不必再次調用它。 用戶會話不同。如果你想讓用戶登錄,你將不得不在某處呈現登錄VC,因爲它不會在第一次啓動。

我是否認爲安裝文件是UNIQUE並且只創建一次,將設備與推送服務匹配,因此除非我想更新PFUser字段,否則該文件中沒有真正改變。謝謝

是的。這很準確。只是不要困惑。 PFUser currentUserPFInstallation currentInstallation不一樣任何人都可以登錄設備,但該應用只能在設備上安裝一次,從而使安裝具有唯一性。不是用戶。

+0

謝謝,所以沒有必要將PFUser重置爲if([PFUser currentUser])中的安裝。[self performSegueWithIdentifier:@「showFriends」sender:nil]; }對不對? – Kex 2015-01-21 11:01:01

+0

正確的,一旦關係被設置,它將始終保持該狀態,直到你告訴它 – soulshined 2015-01-21 11:02:57