这是场景:在我的应用程序中,我正在同步一些数据,只要同步时出现一些错误,我就会在BOOL
. 当所有同步完成后,我想为用户显示同步反馈(错误)。
如果存在即日历同步错误和联系人同步错误,我首先显示UIAlertView
有关日历同步错误的信息,当用户点击“确定”时,我会显示UIAlertView
有关联系人同步错误的信息。为了能够知道用户何时点击了“确定”,我使用了完成块。所以我的代码看起来像这样:
if (calendarSyncFailed && contactSyncFailed && facebookSyncFailed && contactSyncConflicts) {
[self displayCalendarSyncAlertCompletionBlock:^{
[self displayContactsSyncAlertCompletionBlock:^{
[self displayFacebookSyncAlertCompletionBlock:^{
[self displayContactSyncConflictsAlertCompletionBlock:^{
}];
}];
}];
}];
} else if (calendarSyncFailed && contactSyncFailed && facebookSyncFailed) {
[self displayCalendarSyncAlertCompletionBlock:^{
[self displayContactsSyncAlertCompletionBlock:^{
[self displayFacebookSyncAlertCompletionBlock:^{
}];
}];
}];
} else if (contactSyncFailed && facebookSyncFailed && contactSyncConflicts) {
[self displayContactsSyncAlertCompletionBlock:^{
[self displayFacebookSyncAlertCompletionBlock:^{
[self displayContactSyncConflictsAlertCompletionBlock:^{
}];
}];
}];
} else if (you get the idea…) {
}
正如您所看到的,处理这 4 个布尔值会有很多不同的组合,我想知道是否有更智能/优雅的编码方式?