所以我正在尝试清理我的代码并将所有一个对象的逻辑移动到它自己的类中。
我希望能够做到这样的事情:
@interface Habit : PFObject<PFSubclassing>
然后就可以打电话了
[Habit calculateStreak]
。
如何使用已创建的Habit
及其所有数据初始化PFObject
?像[Habit * running = Habit initWithThis:someObjectWithData]
这样的东西?或者我认为这一切都错了?
答案 0 :(得分:1)
子类化非常简单:只需继承PFObject
并采用PFSubclassing
协议:
@interface Habit : PFObject <PFSubclassing>
- (id)calculateStreak;
@end
然后,确保覆盖parseClassName
以返回Parse类名称:
@implementation Habit
- (NSString *)parseClassName
{
return @"Habit";
}
@end
您还必须注册子类,这应该在+[Habit load]
:
@implementation Habit
- (void)load
{
[self registerSubclass];
}
- (NSString *)parseClassName
{
return @"Habit";
}
@end
然后你可以像使用+[object]
之类的任何其他Parse类一样实例化类:
Habit *habit = [Habit object];