Parse のドキュメントでは、PFObject のサブクラスの init をオーバーライドしてはならないと具体的に述べています。このようにオブジェクトメソッドをオーバーライドできるため、コードで作成されたオブジェクトの場合は問題ありません...
@implementaion CustomObject : PFObject <Subclassing>
+ (instancetype) object {
CustomObject *me = [super object];
// init some instance variables or whatever
return me;
}
@end
これは、次の場合に機能します。 CustomObject *myThing = [CustomObject object];
しかし、クエリからオブジェクトをフェッチするときにオブジェクトが呼び出されないようです....
PFQuery *query = [CustomObject query];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
for(int i = 0; i < objects.count; i++){
CustomObject *myThing = objects[i];
// object method was never called...
}
}
}];
では、取得時にカスタム PFObject を初期化するにはどうすればよいでしょうか?