https://github.com/ReactiveCocoa/ReactiveCocoa으로 첫 코드를 구현하고 있습니다.ReactiveCocoa에서 신호가 두 번 호출되는 이유는 무엇입니까?
사용자를위한 로그인입니다. 줄 [subscriber sendNext:user];
이 두 번 호출되지만, 나는 단 하나 일 것으로 기대합니다. 블록이에 전달하기 때문에이 문제가 발생
NSString *email = data[@"email"];
NSString *pwd = data[@"pwd"];
[SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeBlack];
RACSignal *login = [[SyncEngine server] login:email pwd:pwd];
[login
subscribeCompleted:^
{
[[NSNotificationCenter defaultCenter]
postNotificationName:NOTIFY_LOGIN_CHANGED
object:self];
[SVProgressHUD showSuccessWithStatus:LOC_OK];
[self cancelForm];
}];
[login
subscribeError:^(NSError *error)
{
[SVProgressHUD dismiss];
[AppUrls alertError:LOC_ERROR_LOGING msg:error.userInfo[@"error"]];
}];
코드를 단계별로 실행하고 무슨 일이 일어나는지 확인하십시오. 또는 sendNext 항목에 중단 점을 설정하고 호출 할 때마다 호출 스택을 검사하십시오. –