【发布时间】:2017-01-26 05:33:41
【问题描述】:
我写了很多完成块,但不知道为什么会这样。如果我们使用适当的参数调用块,则基于块的函数的控制不应该继续进行。但就我而言,它正在这样做。
- (void) validateFormWithCompletion: (void(^)(BOOL valid)) completion
{
if (! [NetworkConstant appIsConnected])
{
[[AppThemeManager sharedInstance] showNoInternetMessage];
completion(NO);
}
emailIdTF.text = [emailIdTF.text trimWhiteSpaceAndNextLine];
if (emailIdTF.text.length == 0)
{
[[AppThemeManager sharedInstance] showNotificationWithTitle:@"Incomplete" subtitle:@"Please fill in a valid email id" duration:durationForTSMessage withTypeOfNotification:notificationWarning];
completion(NO);
}
else
{
completion(YES);
}
}
如果没有互联网连接,控件应该从第一次出现的完成(NO)返回;。但相反,它继续进行电子邮件长度检查。我在这里做错了吗?
【问题讨论】:
标签: ios objective-c objective-c-blocks completionhandler