More Related Content
Similar to I phoneアプリの通信エラー処理 (20)
More from Satoshi Asano (8)
I phoneアプリの通信エラー処理
- 1. iPhone
id:ninjinkun / @ninjinkun
- 2. • iOS Advent Calendar
• 25
• http://atnd.org/events/22792
• http://ninjinkun.hatenablog.com/entry/2011/12/23/224918
- 4. • IO→
• etc…
• IO→
• iPhone
•
• etc…
•
- 8. • Mail
• Instagram
• Facebook
• Path
- 13. •
• UIAlertView
•
• UIViewController
•
https://github.com/ninjinkun/AlertResume
- 14. • UIAlertView
• NSError
• NSAlertView NSError
• …
- 15. • NSError
• userInfo
• localizedDiscription
• localizedFailureReason
• localizedRecoverySuggestion
• localizedRecoveryOptions
- 16. NSArray *buttons = [NSArray arrayWithObjects:@" ", @" ", nil];
NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:
@" ", NSLocalizedDescriptionKey,
@” ”, NSLocalizedFailureReasonErrorKey,
@" …", NSLocalizedRecoverySuggestionErrorKey,
buttons, NSLocalizedRecoveryOptionsErrorKey,
nil];
NSError*error = [NSError errorWithDomain:@"com.hoge.fuga" code:100 userInfo:userInfo];
- 17. • UIAlertView
@implementation UIAlertView (NSErrorAddition)
-(id)initWithError:(NSError *)error {
self = [super init];
if (self) {
self.title = [error localizedDescription];
self.message = [[NSArray arrayWithObjects:[error localizedFailureReason],
[error localizedRecoverySuggestion], nil] componentsJoinedByString:@"n"];
NSArray* optionTitles = [error localizedRecoveryOptions];
for (NSString *title in optionTitles) {
[self addButtonWithTitle:title];
}
}
return self;
}
@end
- 18. • ViewController
• POST
•
• ViewController
- 20. •
•
•
• Path
•
• UIAlertView
• 2
•