13. Objective-C中自定义泛型类
@interface Queue<ObjectType> : NSObject
- (void)enqueue:(ObjectType)value;
- (ObjectType)dequeue;
@end
@implementation Queue {
NSMutableArray *_array;
}
- (instancetype)init {
self = [super init];
if (self) {
_array = [[NSMutableArray alloc] init];
}
return self;
}
- (void)enqueue:(id)value {
[_array addObject:value];
}
- (id)dequeue {
if (_array.count > 0) {
id value = _array[0];
[_array removeObjectAtIndex:0];
return value;
}
return nil;
}
- (NSString *)description {
return [NSString stringWithFormat:@"The queue is [%@]", _array];
}
@endLast updated
Was this helpful?