@interface ArrayAssistant : NSObject
- (instancetype)initWithData:
(NSArray<NSNumber *> *)data;
//multiple results through out
//pointers, like NSError **
- (void)getFirst:(int *)first
last:(int *)last;
@end
@implementation ArrayAssistant {
NSArray<NSNumber *> *_data;
}
- (instancetype)initWithData:
(NSArray<NSNumber *> *)data {
self = [super init];
if (self) {
_data = data;
}
return self;
}
- (void)getFirst:(int *)first
last:(int *)last {
*first = -1;
*last = -1;
if (_data.count > 0) {
*first = [_data.firstObject intValue];
*last = [_data.lastObject intValue];
}
}
@end
ArrayAssistant *assistant =
[[ArrayAssistant alloc]
initWithData:@[@2, @3, @5]];
int first, last;
[assistant getFirst:&first last:&last];
//first is 2
//last is 5