AFNetworking
의 AFHTTPClient
클래스를 사용하여 Rails 백엔드와 통신합니다.블록에서 메소드가 호출되는지 감지
개체를 만들 때 배치 API를 사용하여 서버에서 여러 API
호출을 실행하고 싶습니다. 궁금한 점을 대비하여 batch_api을 사용하고 있습니다.
멋지게 나는이 같을 것이다 API를 가지고 생각하고 있었는데 AFHTTPClient
를 확장하려면 :
[[[SPRRailsClient] sharedInstance] batchOperations:^ {
NSMutableURLRequest *request = [[SPRRailsAPIClient sharedClient]
requestWithMethod:@"GET"
path:myPath
parameters:parameters];
AFHTTPRequestOperation *operation = [[SPRRailsAPIClient sharedClient]
HTTPRequestOperationWithRequest:request
success:nil
failure:nil];
}];
비결은 requestWithMethod:path:parameters:
및 HTTPRequestOperationWithMethod:success:failure:
이 batchOperations
내에서 호출 할 때 너무 SPRRailsClient
(내 AFHTTPClient
서브 클래스)를 오버라이드 (override)하는 것 블록하는 경우 다른 방법으로 동작하는 경우 (대기열에 추가하거나 AFOperation
의 다른 하위 클래스를 다시 실행합니다.)
이 디자인의 깔끔한 점은 기존 코드를 유지하면서 재치 만 감내 할 수 있다는 것입니다. 일부 호출이 "일괄 처리 모드"에서 실행될 수 있도록 블록에 입력하십시오.
제 질문은 : 블록에서 메소드가 호출되고 있음을 어떻게 감지합니까? 나는 그것을 감지 requestWithMethod:path:parameters:
필요하고, :
batchOperations
블록에서 호출하면
- 는 다른 방식으로 동작합니다.
batchOperations
블록에서 전화하지 않은 경우super
으로 전화하십시오.
두 가지 추가 방법을 SPRRailsClient
에 추가하는 것이 더 간단 할 것이라고 생각하지만,이 방법이 더 좋게 보입니다.
또한, 나는 UIView
애니메이션의 몇 가지 방법은 애니메이션 블록 내에서 호출 다른 방식으로 행동하기 때문에 그것이 가능 파악하고, NSManangedObjectContext
의 performBlock:
아마뿐만 아니라 비슷한 일을하고있다.
좋은 생각 : 당신의 sharedClient 방법이 호출 될 때 내에서 다음
batchOpperations 내에서 다음,
는 큐를 확인! 내가하려고하는 것은 과잉 행동이다. – pgb