0
如標題所示,在訂閱RACSubet的RACSignal內的主題上調用sendNext不會執行任何操作。什麼都不會發生。我已經驗證了第二個訂閱者總是收到sendNext值,而不是訂閱內部的訂閱者。在RACSignal訂戶不工作的情況下調用RACSubject的sendNext
代碼:
設置
loginStateSubject = [RACSubject subject];
loginStateSignal = [loginStateSubject replayLast];
[loginStateSubject sendNext:[NSNumber numberWithInteger:LOGIN_IDLE]];
用戶
[[loginStateSignal takeWhileBlock:^BOOL(NSNumber *state) {
if ([state intValue] == LOGGING_IN) {
NSLog(@"Login state is in LOGGING_IN. Complete subscriber.");
return false;
}
return true;
}] subscribeNext:^(NSNumber *state) {
if ([state intValue] == LOGIN_IDLE) {
NSLog(@"Login Idle. Attempt login.");
[loginStateSubject sendNext:[NSNumber numberWithInt:LOGGING_IN]];
[self loginWithParse];
} else {
NSLog(@"Log out in process while attempting to log in.");
}
}];