0
我使用的是印象笔记API,并且我已经创建了一个辅助类,它将包含印象笔记API特定的方法,以尽可能地保持代码的抽象。我该如何将这种依赖viewcontroller的方法移到辅助类中?
但有一种方法需要从视图控制器中调用以显示登录表单,以及发生错误时的alertView。下面是代码:
- (IBAction)loginToEvernote:(id)sender {
EvernoteSession *session = [EvernoteSession sharedSession];
[session authenticateWithViewController:self completionHandler:^(NSError *error) {
if (error || !session.isAuthenticated) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Could not authenticate"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
} else {
}
}];
}
这在我看来,“authenticateWithViewController:completionHandler”方法需要在一个视图控制器,以显示包含登录信息的模态视图控制器。
同样,这是一个API的方法,所以我不能改变它。
如何将此方法移至辅助类?起初我以为是委派,但是我已经让这个视图控制器成为助手类的代表为了给它发送其他错误信息,并且使得对方的helper类和viewcontroller委托对我来说似乎是臭虫,如果甚至可能的话。