블록에서 어서 트를 사용하는 방법에 대한 질문이 있습니까? 예를 들어블록에서 Assert를 사용하는 방법은 무엇입니까?
:
[someObject postRequestWithBlock:^(BOOL succeeded, NSError *error) {
CFRunLoopRef runLoopRef = CFRunLoopGetCurrent();
CFRunLoopStop(runLoopRef);
GHAssertTrue(succeeded&&!error, @"faile");
}];
CFRunLoopRun();
그것은 비동기 요청을 전송해야합니다. 완료되면 성공했는지 확인해야합니다.
하지만 충돌이 발생합니다!
어떻게해야합니까?
xx!
추 신 : - (void) testCase { [자가 준비];
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]];
__block typeof (&*self) bself = self;
[request setCompletionBlock:^{
[bself notify:kGHUnitWaitStatusSuccess forSelector:@selector(testCase)];
GHAssertTrue(YES, @"faile");
}];
[request setFailedBlock:^{
[bself notify:kGHUnitWaitStatusFailure forSelector:@selector(testCase)];
GHAssertTrue(NO, @"faile");
}];
[request startAsynchronous];
[self waitForStatus:kGHUnitWaitStatusCancelled timeout:15.0];
}
완료가 거짓이고 오류가 true라고 주장하고 싶지 않으십니까? 당신은 다른 방향으로 그들을 가지고 있습니다. –