Dynamic 子类化PFObject并重写动态添加的访问器

Dynamic 子类化PFObject并重写动态添加的访问器,dynamic,parse-platform,overriding,accessor,subclassing,Dynamic,Parse Platform,Overriding,Accessor,Subclassing,我了解如何子类化PFObject,但我不确定如何在访问器中执行其他自定义代码,同时仍然调用该访问器的泛型实现,如定义的和通过Parse添加的@dynamic ally(它根据属性的类型执行适当的操作,例如PFRelation,等等) 例如 // MyPFObjectSubclass.h #import <Parse/Parse.h> @interface MyPFObjectSubclass.h : PFObject<PFSubclassing> @property (r

我了解如何子类化PFObject,但我不确定如何在访问器中执行其他自定义代码,同时仍然调用该访问器的泛型实现,如定义的和通过Parse添加的@dynamic ally(它根据属性的类型执行适当的操作,例如PFRelation,等等)

例如

// MyPFObjectSubclass.h
#import <Parse/Parse.h>
@interface MyPFObjectSubclass.h : PFObject<PFSubclassing>
@property (retain, nonatomic) id myProperty;
+ (NSString *)parseClassName;
@end

// MyPFObjectSubclass.m
#import "MyPFObjectSubclass.h"
#import <Parse/PFObject+Subclass.h>
@implementation MyPFObjectSubclass
@dynamic myProperty;
+ (NSString *)parseClassName {
    return @"MyPFObjectSubclass";
}
- (void)setMyProperty:(id)someProperty {
    // insert some custom code here, e.g. for validation...
    // call the generic, dynamic implementation of setMyProperty, but how?
    // obviously, you cannot call [super setMyProperty:someProperty];
}
@end
//MyPFObjectSubclass.h
#进口
@接口MyPFObjectSubclass.h:PFObject
@属性(保留,非原子)id myProperty;
+(NSString*)parseClassName;
@结束
//MyPFObjectSubclass.m
#导入“MyPFObjectSubclass.h”
#进口
@MyPFObjectSubclass的实现
@动态特性;
+(NSString*)parseClassName{
返回@“MyPFObjectSubclass”;
}
-(void)setMyProperty:(id)someProperty{
//在此处插入一些自定义代码,例如用于验证。。。
//调用setMyProperty的通用动态实现,但如何调用?
//显然,您不能调用[super-setMyProperty:someProperty];
}
@结束

非常感谢您的帮助。

您需要做的就是实现自己的访问器并跳过@dynamic

您在这方面做得如何?您有进一步的了解吗?我认为当我们为PFObject子类指定的动态属性设置值时,调用的最终方法是-[PFObject setObject:forKey:],键是属性的名称。所以应该在自定义代码的末尾调用它吗