2014-11-13 1 views
2

Parse 문서에는 PFObject의 하위 클래스에 대해 init을 재정의해서는 안된다는 내용이 명시되어 있습니다. 즉 ...이 같은 객체 메소드를 오버라이드 (override) 할 수 있기 때문에 코드에서 생성 된 개체에 대한 괜찮아가져올 때 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 사용자 지정을 초기화 할 수 있습니다?

+0

첫째, 어떤 인스턴스 변수는 아이폰 OS 클라이언트에서만 확인 감각을 인스턴스화하는 서브 클래스에 추가? 둘째, 배열에서 객체를 가져온 후에'[myThing object]'를 호출하면됩니까? 약간 불완전하지만 작동 할거야, 그렇지? – mbm29414

+0

[myThing 개체]가 아니며 [CustomClass 개체]입니다 ... 새 사용자 지정 PFObject 하위 클래스를 만들고 할당합니다. – pizzafilms

+0

아, 내 잘못이야. 나는 그것이 클래스 메소드라는 것을 놓쳤다. 음, 초기화 코드를 자신의 메서드로 옮기고, [MyObject object]'에서 호출 할 수 있지만,'PFQuery'에서 반환 된 객체에서도 초기화 코드를 호출 할 수 있습니까? – mbm29414

답변

1

아마 하위 클래스를 등록하지 않았습니다.

그냥

[Parse setApplicationId:@"your id" 
        clientKey:@"your key"]; 

전에 [CustomObject register] 전화를 걸거나

+ (void) load{ 
    [self register]; 
} 
관련 문제