2016-08-01 8 views
0

내 앱에서 saveInBackgroundWithBlock이 호출 될 때마다 다른 저장이 수행됩니다. 누구든지 변경하고 변경 한 사람의 "로그"를 만들기 위해 이것을 수행합니다. PFObject.h를 살펴 봤지만 Obj-C 나 다른 곳에서 어떻게 작성해야하는지 잘 모르겠습니다. 모든 일을 처리하고이를 모든 단일 인스턴스에 추가하는 것 외에는 다른 방법이 있습니다. 이것이 좋은 방법일까요? 또는 나는 그것을 밖으로 찌르고 더 단단한 방법을 사용해야합니까?parse saveInBackgroundWithBlock 추가 작업

- (void)saveInBackgroundWithBlock:(nullable PFBooleanResultBlock)block; 

답변

0

당신은 이런 종류의 기능을 달성하기 위해 여러 가지 방법이 있습니다

  1. 이 백분율 클래스는 당신이 할 수있는 콜백 내부 saveInBackgroundWithBlock의 호출을 실행합니다 매개 변수로 PFObject 및 PFBooleanResultBlock를받을 백분율 클래스 만들기 필요한 추가 저장을 구현하십시오. 마지막에 당신의 백분율 클래스는 다음과 같이한다 :

@interface ParseUtils : NSObject 
 

 
+ (void)saveParseObject:(PFObject *)object block:(PFBooleanResultBlock)block; 
 

 
@end

@implementation ParseUtils 
 

 
+ (void)saveParseObject:(PFObject *)object block:(PFBooleanResultBlock)block { 
 
    
 
    // if the object is nil or it was not changed return 
 
    if (!object || !object.isDirty) return; 
 
    
 
    [object saveInBackgroundWithBlock:^(BOOL succeeded, NSError * _Nullable error) { 
 
     
 
     // if no error occured 
 
     if (!error){ 
 
      
 
      // HERE YOU SHOULD CALL YOUR ADDITIONAL SAVE... 
 
      
 
     } 
 
     
 
     // handle the callback to the calling class 
 
     if (block){ 
 
      block(succeeded,error); 
 
     } 
 
     
 
    }]; 
 
    
 
} 
 

 
@end

  • 또 다른 옵션으로는

      싱글 톤과 동일하지만 (프로젝트에 대해 REST 클라이언트 싱글 톤을 만든 경우)

    1. 또 다른 좋은 옵션은 폴더의 유틸리티의

    더 많은 옵션이 있습니다 그 방법처럼 정확하게 동일한 작업을 수행하는 방법을 만들 수 거기 PFObject의 상단에 카테고리를 생성하는 것입니다하지만 난 생각 그것은 충분합니다. 가능한 한 빨리 유틸리티를 사용하고 싶다면. 당신이 최고의 아키텍처로 그것을하고 싶다면 카테고리와 함께 가라.