0

我正在尝试掌握 Parse 并构建一个简单的聊天应用程序。对于我的登录注册代码,我有这个片段:

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

此代码将 PFInstallation 连接到 PFUser,因此可以通过查询用户名来发送推送。

当应用程序加载时,我首先检查是否已经有用户登录:

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

如果用户已经登录,则加载显示朋友视图控制器。我是否需要在此代码中再次设置安装以匹配用户?IE

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


} 

还是因为用户已经登录所以不需要?我是否认为安装文件是唯一的并且只创建一次,将设备与推送服务匹配,所以除非我想更新我添加的 PFUser 字段,否则该文件中没有任何真正的变化?谢谢

4

1 回答 1

1

如果用户已经登录,则加载显示朋友视图控制器。我是否需要在此代码中再次设置安装以匹配用户?

不,安装和用户类独立运行,但在您的情况下,由于您设置了关系,因此它们也可以一起运行。由于您已经在应用程序中设置了它,didFinishLaunchingWithOptions:该设备已经使用您提供的令牌(设备令牌)唯一地标识了它的安装,因此您不必再次调用它。用户会话是不同的。如果您希望用户登录,则必须在某处显示登录 VC,因为它不会在第一次启动时出现。

我是否认为安装文件是唯一的并且只创建一次,将设备与推送服务匹配,所以除非我想更新我添加的 PFUser 字段,否则该文件中没有任何真正的变化?谢谢

是的。这很准确。只是不要感到困惑。PFUser currentUserPFInstallation currentInstallation任何人都可以登录设备不同,但该应用程序只能在设备上安装一次,从而使安装独一无二。不是用户。

于 2015-01-21T10:58:19.960 回答