• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-12 11:07:02 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

我当前的代码是这样的:

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

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

请帮忙。



Best Answer-推荐答案


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

+ (instancetype)currentUser;

这意味着如果您将 PFUser 子类化,则 currentUser 返回子类类型的对象,在您的情况下为 MyUserSubclass .

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

User.h

#import <arse/Parse.h>

@interface User : PFUser <FSubclassing>

@property (nonatomic, strong) NSString *firstName;

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

@end

User.m

#import "User.h"
#import <arse/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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap