我正在为objective-c编写iPhone应用程序。我想声明一个包含不同类型字段的数组,例如:int,NSString,bool。 我可以这样做吗?
答案 0 :(得分:2)
只要它们是对象,您就可以在NSArray
中放置任何项目。因此,您必须将某些非对象项(例如BOOL
,int
和CGPoint
)包装在某些对象中,例如NSNumber
或NSValue
。
NSMutableArray *array = [[NSMutableArray] alloc] init];
[array addObject:myString];
[array addObject:[NSNumber numberWithInt:1]];
[array addObject:[NSNumber numberWithFloat:1.0]];
[array addObject:[NSValue valueWithPoint:myPoint]]; // myPoint is a CGPoint
[array addObject:[NSValue valueWithRect:myRect]]; // myRect is a CGRect
答案 1 :(得分:1)
是的,你可以
NSMutableArray *array = [NSMutableArray array];
NSString *string = @"str";
[array addObject:string]; //string
NSNumber *num = [NSNumber numberWithInt:1];
[array addObject:num]; //int
NSNumber *boolNum = [NSNumber numberWithBool:YES];
[array addObject:boolNum]; //bool
答案 2 :(得分:0)
使用NSMutableArray
。
NSMutableArray *array = [[NSMutableArray alloc]init];
现在使用addObject:
方法添加对象。为了添加int,bool值创建NSNumber
对象。
答案 3 :(得分:-1)
有可能。只需创建数组并添加要添加的对象。