一,数组NSArray
1.创建数组对象,使用初始化方法或便利构造器
<span style="font-size:18px;">//NSArray *arr1 = [[NSArray alloc] initWithObjects:@"王辰", @"刘国威", @"郑海坤", nil];
//NSArray *arr2 = [NSArray arrayWithObjects:@"李智", @"魏大为", @"刘天伟", nil];
//NSArray *arr3 = [NSArray arrayWithArray:arr1];
//NSLog(@"%@", arr1);
//NSLog(@"%@", arr2);
//NSLog(@"%@", arr3);
</span>
<span style="font-size:18px;">//- (NSUInteger)count
</span>
<span style="font-size:18px;">//- (id)objectAtIndex:(NSUInteger)index
</span>
<span style="font-size:18px;">//- (NSUInteger)indexOfObject:(id)anObject
//NSLog(@"%lu", [arr1 indexOfObject:@"郑海坤"]);</span>
<span style="font-size:18px;">//- (NSArray *)objectsAtIndexes:(NSIndexSet *)indexes
//NSArray *temp = [arr1 objectAtIndex:1];</span>
1.创建数组对象
<span style="font-size:18px;">NSMutableArray *mArr = [NSMutableArray arrayWithArray:arr1];
for (int i = 0; i < [mArr count]; i++) {
NSLog(@"%@", mArr[i]);
}
</span>
<span style="font-size:18px;">//- (void)addObject:(id)anObject // 直接添加对象
//- (void)addObjectsFromArray:(NSArray *)otherArray // 添加另一个数组</span>
<span style="font-size:18px;">[mArr addObject:@"陈佳鸿"];
[mArr addObjectsFromArray:arr2];
[mArr addObject:arr3];
</span>
<span style="font-size:18px;">//- (void)insertObject:(id)anObject atIndex:(NSUInteger)index
</span>
<span style="font-size:18px;">//- (void)removeLastObject //删除最后一个元素
//- (void)removeObject:(id)anObject //删除指定元素</span>
<span style="font-size:18px;">//- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject
</span>
<span style="font-size:18px;">[mArr replaceObjectAtIndex:0 withObject:@"王子洁"];</span>
6.交换指定位置的两个元素
<span style="font-size:18px;">//- (void)exchangeObjectAtIndex:(NSUInteger)idx1 withObjectAtIndex:(NSUInteger)idx2</span>
7.可变数组排序方法
<span style="font-size:18px;">//- (void)sortUsingSelector:(SEL)comparator</span>
<span style="font-size:18px;">[arrNum sortUsingSelector:@selector(compare:)];
NSLog(@"%@", arrNum);
</span>
<span style="font-size:18px;">//- (NSArray *)sortedArrayUsingSelector:(SEL)comparator</span>
<span style="font-size:18px;">arrNum = [arrNum sortedArrayUsingSelector:@selector(compare:)];
NSLog(@"%@", arrNum);</span>
1.创建各个类型的数值对象
(1)整型
<span style="font-size:18px;">NSNumber *n1 = [NSNumber numberWithInt:43];
</span>
(2)浮点(单精度)
<span style="font-size:18px;">NSNumber *n2 = [NSNumber numberWithFloat:23.3];
</span>
(3)浮点(双精度)
<span style="font-size:18px;">NSNumber *n3 = [NSNumber numberWithDouble:65.213468];
</span>
(4)长整型<span style="font-size:18px;">NSNumber *n4 = [NSNumber numberWithLong:13236849];
</span>
(5)字符型
<span style="font-size:18px;">NSNumber *n5 = [NSNumber numberWithChar:'A'];
</span>
都放在一个数组里输出,并排序
<span style="font-size:18px;">NSMutableArray *arrNUmber = [NSMutableArray arrayWithObjects:n1, n2, n3, n4, n5, nil];
NSLog(@"%@", arrNUmber);
[arrNUmber sortUsingSelector:@selector(compare:)];
NSLog(@"%@", arrNUmber);</span>
1.创建字典对象
<span style="font-size:18px;">NSDictionary *dicYaoGe = [NSDictionary dictionaryWithObjectsAndKeys:
@"瑶哥", @"name",
@"?", @"sex",
@"18", @"age",
@"105", @"weight", nil];
NSLog(@"%@", dicYaoGe);</span>
2.获取所有key值
<span style="font-size:18px;">//- (NSArray *)allKeys
</span>
<span style="font-size:18px;">NSLog(@"%@", [dicYaoGe allKeys]);
</span>
3.获取所有value值
<span style="font-size:18px;">//- (NSArray *)allValues
</span>
<span style="font-size:18px;">NSLog(@"%@", [dicYaoGe allValues]);</span>
4,通过key查询value
//- (id)objectForKey:(id)aKey
//- (id)valueForKey:(NSString *)key
5,通过value值查询key
//- (NSArray *)allKeysForObject:(id)anObject
NSLog(@"key : %@", [dicYaoGe allKeysForObject:@"18"]);
for (NSString *key in dicYaoGe) {
NSLog(@"%@ : %@",key, [dicYaoGe objectForKey:key]);
}
1,添加键值对
//- (void)setValue:(id)value forKey:(NSString *)key
[dicZiJie setValue:@"LOL" forKey:@"hobby"];
[dicZiJie setValue:@"2" forKey:@"hobby"];
//- (void)removeObjectForKey:(id)aKey
[dicZiJie removeObjectForKey:@"key"];
1,创建新的集合对象
NSSet *nanShen = [NSSet setWithObjects:@"曹大哥",@"david",@"保洁大哥",@"保洁大哥", nil];
NSLog(@"%lu", [nanShen count]);
//- (id)anyObject
//NSLog(@"%@", [nanShen anyObject]);
//- (BOOL)containsObject:(id)anObject
for (NSString *name in nanShen) {
NSLog(@"%@", name);
}
//- (void)unionSet:(NSSet *)otherSet // 并集
//- (BOOL)intersectsSet:(NSSet *)otherSet // 交集
NSArray *arr1 = [NSArray arrayWithObjects:@"a1", @"a2", @"a3", @"a4", nil];
NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"d1", @"D1",
@"d2", @"D2",
@"d3", @"D3",
nil];
NSSet *set1 = [NSSet setWithObjects:@"s1", @"s2", @"s3", @"s4", nil];
NSArray *bigArr = [NSArray arrayWithObjects:arr1, dic1, set1, nil];
for (id count in bigArr) {
NSLog(@"**********************************");
if ([count class] == [arr1 class]) { // class代表类型
for (NSArray *a1 in arr1) {
NSLog(@"%@", a1);
}
} else if([count class] == [dic1 class]){
for (NSDictionary *d1 in dic1) {
NSLog(@"%@--->%@",d1,[dic1 objectForKey:d1]);
}
} else if([count class] == [set1 class]){
for (NSSet *s1 in set1) {
NSLog(@"%@", s1);
}
} else {
NSLog(@"我去");
}
}