gpt4 book ai didi

ios - 子类化 PFUser 时获得正确的类型

转载 作者:可可西里 更新时间:2023-11-01 03:25:29 24 4
gpt4 key购买 nike

我正在尝试在 iOS 上的 Parse 中子类化 PFUser。我可以使用以下代码创建一个子类:

// MyUser.h
#import <Parse/PFUser.h>
#import <Parse/PFObject+Subclass.h>
#import <Parse/PFFile.h>

@interface MyUser : PFUser<PFSubclassing>

@property PFFile *avatar;
...etc...

@end

// MyUser.m
#import "MyUser.h"

@implementation MyUser

@dynamic avatar;
...etc...

@end

当我调用 [MyUser currentUser] 时,我返回的对象是 PFUser 类型,但不是 MyUser 类型。将它转换为 MyUser* 没有帮助,当我尝试使用任何自定义属性时,它只会抛出错误“无法识别的选择器发送到实例 0xce9c0c0”,例如user.avatar 在 MyUser 中定义。

如何获取自定义类型的缓存 currentUser 对象?

最佳答案

原来关键是注册子类和设置应用程序ID的顺序。

[Parse setApplicationId:@"FOO" clientKey:@"BAR"];
[MyUser registerSubclass];

导致问题发生。但是,如果您在注册子类后设置应用程序 ID,它会按预期工作。

[MyUser registerSubclass];
[Parse setApplicationId:@"FOO" clientKey:@"BAR"];

关于ios - 子类化 PFUser 时获得正确的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22203689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com