objective-c之复合对象

来源:互联网 发布:矩阵的qr分解例题 编辑:程序博客网 时间:2024/04/28 06:14
#import <Foundation/Foundation.h>//自定义验证表数组ValidatingArray@interface ValidatingArray : NSMutableArray{    NSMutableArray *embeddedArray;}+ validatingArray;- init;- (unsigned)count;- objectAtIndex:(unsigned)index;- (void)addObject:object;- (void)replaceObjectAtIndex:(unsigned)index withObject:object;- (void)removeLastObject;- (void)insertObject:object atIndex:(unsigned)index;- (void)removeObjectAtIndex:(unsigned)index;@end@implementation ValidatingArray- init{    self = [super init];    if (self) {        embeddedArray = [[NSMutableArray allocWithZone:[self zone]] init];    }    return self;}+ validatingArray{    return [[self alloc] init] ;}- (unsigned)count{    return [embeddedArray count];}- objectAtIndex:(unsigned)index{    return [embeddedArray objectAtIndex:index];}- (void)addObject:(id)object{    if (object != nil) {        [embeddedArray addObject:object];    }}- (void)replaceObjectAtIndex:(unsigned)index withObject:(id)object;{    if (index <[embeddedArray count] && object != nil) {        [embeddedArray replaceObjectAtIndex:index withObject:object];    }}- (void)removeLastObject;{    if ([embeddedArray count] > 0) {        [embeddedArray removeLastObject];    }}- (void)insertObject:(id)object atIndex:(unsigned)index;{    if (object != nil) {        [embeddedArray insertObject:object atIndex:index];    }}- (void)removeObjectAtIndex:(unsigned)index;{    if (index <[embeddedArray count]) {        [embeddedArray removeObjectAtIndex:index];    }}@end//http://www.yiibai.com/objective_c/objective_c_composite_objects.htmlint main(){    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];        ValidatingArray *validatingArray = [ValidatingArray validatingArray];    [validatingArray addObject:@"Object1"];    [validatingArray addObject:@"Object2"];    [validatingArray addObject:[NSNull null]];    [validatingArray removeObjectAtIndex:2];    NSString *aString = [validatingArray objectAtIndex:1];    NSLog(@"The value at Index 1 is %@",aString);        aString = [validatingArray objectAtIndex:0];    NSLog(@"The value at Index 0 is %@",aString);            [pool drain];    return 0;}

0 0
原创粉丝点击