我有一个关于ReactiveCocoa的初学者问题。
我想根据用户与shouldPerformSegueWithIdentifier
的互动返回UIAlertView
方法的值。
到目前为止,这就是我所拥有的,显然它不起作用。我该怎么办?
-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender{
if([identifier isEqualToString:ModalBrowser]){
if(self.delegate.currentCoreConversation!=nil){
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Disconnect?" message:@"This action will disconnect you from your current conversation. Would you like to continue?" delegate:self cancelButtonTitle:@"Heck No Techno!" otherButtonTitles:@"Certainly", nil];
[alertView show];
[alertView.rac_buttonClickedSignal subscribeNext:^(NSNumber *x) {
// return [x isEqual:@1];
}];
[alertView.rac_buttonClickedSignal subscribeNext:^(NSNumber *x) {
// return [x isEqual:@1];
}];
}
}
return YES;
}
答案 0 :(得分:2)
警报视图在显示时不会阻止执行的线程。换句话说,用户点按 后,您已经从-shouldPerformSegueWithIdentifier:sender:
返回。
您应该立即返回NO
,然后以编程方式触发segue(在用户响应您的警报视图后),而不是试图找出改变该行为的方法。