【问题标题】:PFInstallation and adding a pointer to a PFUserPFInstallation 并添加指向 PFUser 的指针
【发布时间】:2015-01-21 09:11:38
【问题描述】:

我正在尝试掌握 Parse 并构建一个简单的聊天应用程序。对于我的 loginsignup 代码,我有这个 sn-p:

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];


} 

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

【问题讨论】:

    标签: ios xcode parse-platform pfuser


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 谢谢,因此无需将 PFUser 重置为 if ([PFUser currentUser]) { [self performSegueWithIdentifier:@"showFriends" sender:nil]; } 对吗?
    • 正确,一旦设置了关系,它将始终保持该状态,直到您另行告知为止
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多