2
解析文檔明確指出,您不應該爲PFObject的子類重寫init。這沒關係對於在代碼中創建,因爲你可以覆蓋對象的方法,這樣的對象...如何在讀取時初始化PFObject子類?
@implementaion CustomObject : PFObject <Subclassing>
+ (instancetype) object {
CustomObject *me = [super object];
// init some instance variables or whatever
return me;
}
@end
這工作時,這種情況: CustomObject * myThing = [CustomObject對象];
但對象似乎並沒有從查詢中獲取對象時被調用....
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時,它的牽強?
首先,什麼實例變量,你只有iOS版客戶端上實例化有意義嗎?其次,如果在從數組中檢索對象後,只需調用'[myThing對象]'?有點多餘,但它會工作,對吧? – mbm29414
它不是[myThing對象],它是[CustomClass對象] ...它創建並分配一個新的自定義PFObject子類。 – pizzafilms
啊,我的不好。我錯過了這是一種類方法。那麼,是否有可能將初始化代碼移動到它自己的方法,從'[MyObject object]調用它,還能夠在從'PFQuery'返回的對象上調用它? – mbm29414