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委託對我來說似乎是臭蟲,如果甚至可能的話。