我正试图掌握Parse并构建一个简单的聊天应用程序。对于我的登录和注册代码,我有这个代码段:
PFInstallation *installation = [PFInstallation currentInstallation];
installation[@"user"] = [PFUser currentUser];
[installation saveInBackground];
此代码将PFInstallation连接到PFUser,因此可以通过查询用户名来发送推送。
当应用程序加载时,我首先检查是否已经有用户登录:
if ([PFUser currentUser]) {
[self performSegueWithIdentifier:@"showFriends" sender:nil];
}
如果用户已登录show friends视图控制器已加载。我是否需要在此代码中再次设置安装以匹配用户?即
if ([PFUser currentUser]) {
PFInstallation *installation = [PFInstallation currentInstallation];
[installation[@"user"] = [PFUser currentUser];
[installation saveInBackground];
[self performSegueWithIdentifier:@"showFriends" sender:nil];
}
或者没有必要,因为用户已经登录?我是否正确地认为安装文件是UNIQUE并且仅创建一次,将设备与推送服务匹配,因此除非我想更新我添加的PFUser字段,否则该文件中没有任何真正的更改? 感谢
答案 0 :(得分:1)
如果用户已登录show friends视图控制器已加载。我是否需要在此代码中再次设置安装以匹配用户?
没有。安装和用户类独立行动,但在您的情况下,因为您设置了关系,那么它们也可以一起行动。由于您已在应用程序didFinishLaunchingWithOptions:
中设置了该设备已使用您提供的令牌(设备令牌)唯一标识其安装,因此您无需再次调用它。
用户会话不同。如果您希望用户登录,则必须在某处显示登录VC,因为它不会在第一次启动时出现。
我是否正确地认为安装文件是UNIQUE并且只创建一次,将设备与推送服务相匹配,因此除非我想更新我添加的PFUser字段,否则该文件中没有任何真正的更改?感谢
是。这非常准确。只是不要混淆。 PFUser currentUser
与任何人都可以登录设备的PFInstallation currentInstallation
不同,但应用只能在设备上安装一次,使安装独一无二。不是用户。