for..in遍曆,列舉程式,for..in遍曆枚舉
#pragma mark ------------for迴圈遍曆集合中的元素------
//建立一個數組,包含5個字串對象,倒序取出數組中的所有元素,並儲存到另一可變數組中
NSArray *array = @[@"1", @"2", @"3", @"4", @"5"];
NSMutableArray *marray = [NSMutableArray arrayWithCapacity:0];
for (NSInteger i = [array count] - 1; i >= 0 ; i --) {
[marray addObject:array[i]];
}
NSLog(@"marray is %@", marray);
NSDictionary *dic = @{@"name":@"zhonger",@"sex":@"m", @"age":@"29"};
NSArray *key = [dic allKeys];
NSArray *value = [dic allValues];
for (int i = 0; i < [key count]; i ++) {
//NSLog(@"%@ = %@",key[i], value[i]);
//NSLog(@"%@", [dic objectForKey:key[i]]);
NSLog(@"%@",dic[key[i]]);
//數組訪問元素或者對象的方法是? objectAtIndex:
//數組訪問元素的文法糖? 數組對象[下標]
//字典訪問value值的方法是? object ForKey:
//字典訪問值的文法糖? 字典對象[key]
}
//建立一個集體,儲存三條資訊,遍曆得到每一條資訊
NSSet *set = [NSSet setWithObjects:@"1", @"888888", @"3", nil];
NSArray *allSet = [set allObjects];
for (int i = 0; i < [allSet count]; i ++) {
NSLog(@"allSet is %@",allSet[i]);
}
#pragma mark ------------列舉程式 NSEnumerator------
NSArray *enumArray = @[@"jinkangda", @"zhubada", @"dazi", @"bada"];
//建立一個列舉程式,依附於數組
NSEnumerator *rator = [enumArray objectEnumerator]; //正序
//建立一個對象
id object = nil; //容量為空白
while (object = [rator nextObject]) {
NSLog(@"正序==%@",object);
}
NSEnumerator *rator1 = [enumArray reverseObjectEnumerator];
id object1 = nil;
while (object1 = [rator1 nextObject]) {
NSLog(@"倒序==%@",object1);
}
//字典枚舉遍曆
NSDictionary *enumDic =
@{@"key1":@{@"key1":@"value1"},
@"key2":@{@"key2":@"value2"},
@"key3":@{@"key3":@"value3"}};
NSEnumerator *dicRator = [enumDic objectEnumerator];
id value1 = nil;
while (value1 = [dicRator nextObject]) {
NSLog(@"value1 is %@",value1);
}
#pragma mark ------------for...in..快速枚舉------
//type *object 代表從集合中擷取的物件類型 object只是一個名稱而已,只需要滿足變數命名法則就行
//collection 代表遍曆的集合,要在哪個集合中遍曆
//statements 遍曆中需要執行的操作,比如使用枚舉出來的對象實現某些功能
/*
for (<#type *object#> in <#collection#>) {
<#statements#>
}*/
for (id object in enumArray) {
NSLog(@"-----%@",object);
}
//使用forin遍曆擷取字典中的每個value
//在字典中遍曆key,通過得到每一個key值得到每一個value
for (id key in enumDic) {
//NSLog(@"%@",[enumDic objectForKey:key]);
NSLog(@"%@",enumDic[key]);
for (id key1 in enumDic[key]) {
NSLog(@"%@",enumDic[key][key1]);
// NSLog(@"%@",[[enumDic objectForKey:key]objectForKey:key1]);
}
}
//定義⼀一個數組, 包含5個字串對象, 取出數組中所有字 符串, 並拼接⽣產生⼀一個新的字串。
NSArray *ar = @[@"I", @"L", @"o", @"v", @"eyou"];
NSMutableString *mstr = [[NSMutableString alloc]initWithCapacity:0];
for (id object in ar) {
//[mstr stringByAppendingString:object];
[mstr appendString:object];
}
NSLog(@"%@",mstr);