【发布时间】:2013-08-29 16:44:52
【问题描述】:
我了解如何将 PFObject 子类化,但我不确定如何在访问器中执行额外的自定义代码,同时仍然调用 Parse 定义的访问器的通用实现和 @dynamic-ally 添加的 Parse(它做了正确的事情取决于属性的类型,例如 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
感谢任何帮助。
【问题讨论】:
-
你在这方面做得如何?有没有更进一步?
-
我认为当我们为 PFObject 子类指定的动态属性设置值时调用的最终方法是 -[PFObject setObject:forKey:],键是您的属性的名称。所以应该在自定义代码的末尾调用它
标签: dynamic parse-platform overriding accessor subclassing