Say you want some type safety around how you define NSErrors. Here is one way to do it.
MyClass.h
extern NSString * const MyClassErrorDomain; typedef NS_ENUM(NSUInteger, MyClassError) { MyClassInvalidThing1 = 1, MyClassInvalidThing2 = 2, };
MyClass.m
NSString * const MyClassErrorDomain = @"MyClassErrorDomain"; ... - (void)tryWakeUpAndReconnect; { if (self.shouldTryWakeup) { [self.delegate failedWithError:[self errorThing1]; } } #pragma mark Errors // if a Spotify app could not be found or woken up - (NSError *)errorThing1 { return [NSError errorWithDomain:MyClassErrorDomain code:MyClassInvalidThing1 userInfo:nil]; }
Leave a Reply