AMEEnumeratedObject
Usage
@interface Alphabets : AMEEnumeratCollection; @end
@interface Alphabet : AMEEnumeratedObject
+ (Alphabet *)enumObject;
@end;
@implementation Alphabet; @end
@interface A : Alphabet; @end; @implementation A; @end
@interface B : Alphabet; @end; @implementation B; @end
@interface C : Alphabet; @end; @implementation C; @end
@implementation Alphabets
+ (NSArray *) values
{
return @[
[A defineEnum:0 name:@"a" description:@"えー"],
[B defineEnum:1 name:@"b" description:@"びー"],
[C defineEnum:2 name:@"c" description:@"しー"],
];
}
@end
// ....
[AMEEnumeratedObjectInitializer initializeAllEnumerateObjects];
Alphabet *alphabet = [A enumObject];
alphabet.ordinal; //=> 0
alphabet.name; //=> @"a"
alphabet.description; //=> @"えー"
alphabet = [Alphabets valueForName:@"b"] // => B object;
[Alphabets values] // => A, B and c instances as NSArray;
Requirements
Installation
AMEEnumeratedObject is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "AMEEnumeratedObject"
Author
License
AMEEnumeratedObject is available under the MIT license. See the LICENSE file for more info.