gpt4 book ai didi

ios - 子类化 PFUser。访问当前用户

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:04:25 25 4
gpt4 key购买 nike

我正在尝试子类化 PFUser,因为我想添加一些属性,但我还需要 [MyUserSubclass currentUser] 返回 MyUserSubclass 而不是 PFUser 实例。

我目前的代码是这样的:

+ (instancetype)currentClient {
MyUserSubclass *client = [MyUserSubclass objectWithoutDataWithObjectId:[PFUser currentUser].objectId];
[client fetch];
return client;
}

在方法 [client fetch] 中,我的应用程序崩溃并且控制台收到警告:无法刷新尚未保存到服务器的对象。

请帮忙。

最佳答案

如果您检查 Parse 库中的 PFUser.h,您将看到 currentUser 返回 instancetype

+ (instancetype)currentUser;

这意味着如果您子类化 PFUser,则 currentUser 返回一个子类类型的对象,在您的例子中是 MyUserSubclass .

这是一个子类化 PFUser 的简短示例:

User.h

#import <Parse/Parse.h>

@interface User : PFUser <PFSubclassing>

@property (nonatomic, strong) NSString *firstName;

+ (User *)user;
+ (BOOL)isLoggedIn;

@end

User.m

#import "User.h"
#import <Parse/PFObject+Subclass.h>

@implementation User

@dynamic firstName;

+ (User *)user {
return (User *)[PFUser user];
}

+ (BOOL)isLoggedIn
{
return [User currentUser] ? YES: NO;
}

@end

请注意,我需要实现一个+(User *)user; 方法,因为在PFUser.h 中它是+(PFUser *)user; 而不是 instancetype

关于ios - 子类化 PFUser。访问当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25194235/

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