Objective-C中常用的数据类型有以下三种:
1.数组(NSArray)
在数组中,必须以nil结束。NSArray数组类上的方法有:
+arrayWithObjects:(id) firstObject,……;//声明数组,后面是各个元素,以nil结束
-(unsigned) count;//数组元素个数
-(id) objectAtIndex:(unsigned) index;//指定位置的元素
-(unsigned) indexOfObject:(id) object;//对象指定数组中的位置
例:
NSArray * citys = [NSArray arrayWithObjects:@"广州",@"深圳",@"北京"];
if([city indexOfObject:@"上海"] == NSNotFound){
NSLog(@"列表没有上海");
}
NSArray属于静态数组,不能往该数组里动态添加元素。但可以使用NSMutableArray来动态管理数组, NSMutableArray是NSArray的子类,常用的方法有:
+(NSMutableArray *) array;//声明数组
-(void) addObject:(id) object;//添加元素
-(void) removeObject:(id) object;//移除指定的元素
-(void) removeAllObjects:(id) object;//移除全部元素
例:
NSMutableArray *city = [[NSMutableArray alloc] init];
[city addObject:@"广州"];
[city addObject:@"深圳"];
[city addObject:@"上海"];
[city removeObject:@"广州"];
[city removeObjectAtIndex:1];
2.集合(NSSet)
集合是一个无序的、不同元素的集合。其常用方法有:
+setWithObjects:(id)firstObject,……;//声明集合,后面的是各个元素,以nil结束
-(unsigned) count;//返回集合个数
-(BOOL) containsObject:(id)object;//判断指定对象是否包含在集合中
NSSet本身也是不可修改的集合。NSMutableSet是相应的可修改的集合,其常用方法有:
+(NSMutableSet *) set;//声明集合
-(void) addObject:(id) object;//添加一个元素到集合中
-(void) removeObject:(id) object;//从集合中删除一个元素
-(void) removeAllObjects;//删除所有元素
-(void) intersectSet:(NSSet *) otherSet;//求两个集合的交集
-(void) minusSet:(NSSet *) otherSet;//集合-指定集合(即不在指定集合内的元素)
3.字典(NSDictionary)
NSDictionary提供了"键-值"对的集合。它的方法有:
+dictionaryWithObjectAndKeys:(id) firstObject,……;//声明一个字典,以nil结束
-(unsigned) count;//获取字典中个数
-(id) objectForKey:(id) key;//根据key查找对应的值,如不存在,返回nil
NSDictionary是不可修改的字典,可以使用NSMutableDictionary来动态添加/删除元素。常用方法有:
+(NSMutableDictionary *) dictionary;//声明一个动态字典
-(void) setObject:(id) object forKey:(id) key;//设置key和value
-(void) removeObjectForKey:(id) key;
-(void) removeAllObjects;