MediaFile이라는 PFObject 하위 클래스가 있습니다. 서버에 호출에서 내 서브 클래스의 인스턴스를 다시 얻기 위해, 나는 당신이이 같은 구문 분석 서브 클래스에서 쿼리를 만들 수있는 방법을 본 적이 :구문 : PFCloud 호출로 PFObject 하위 클래스 사용
PFQuery *query = [MediaFile query];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { ... }];
그러나, 내 응용 프로그램에서 서버 호출의 대부분은 사용자 정의입니다 클라우드 호출은 PFObject를 반환합니다. 이러한 객체를 가져 오자 마자 MediaFile 객체로 처리하고 MediaFile 클래스에 정의 된 사용자 정의 메서드를 호출하려고합니다. 전송은 실제로 MediaFile 객체를 구성하지 않기 때문에 작동하지 않습니다. 내가이 문제를 극복하기 위해했던 것은 내가 다시 [MediaFile object]
를 사용하여 얻을 각 PFObject 새로운 MediaFiles로를 구성하고, 나는이 loadFromObject:
라고 쓴 방법을 사용하여 각 하나에 모든 데이터를 복사 MediaFile.m에서
[PFCloud callFunctionInBackground:@"func" withParameters:@{} block:^(id objects, NSError *error) {
for (PFObject *object in objects) {
MediaFile *mf = [[MediaFile object] loadFromObject:object];
[array addObject:mf];
}
}];
을 :
- (MediaFile *) loadFromObject:(PFObject *)object {
NSArray *keys = [object allKeys];
for (NSString *key in keys) {
id obj = [object objectForKey:key];
[self setObject:obj forKey:key];
}
return self;
}
이 작동하지만,이 문제를 해결하기 위해 더 우아한 방법이?