int main (int argc, const char * argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init]; //for分を使って配列を参照 NSArray *arr =[NSArray arrayWithObjects:@"aaa",@"bbb",@"ccc",@"ddd",@"eee",@"fff", nil]; for(int i=0; i<[arr count]; i++){ NSLog(@"index: %d, value:%@",i,[arr objectAtIndex:i]); } NSLog(@"----------------"); //for分を使って辞書を参照 NSDictionary *dict =[NSDictionary dictionaryWithObjectsAndKeys: @"1",@"a", @"2",@"b", @"3",@"c", @"4",@"d", @"5",@"e", @"6",@"f", @"7",@"g" , nil]; NSArray *keys = [dict allKeys]; for(int i=0; i<[keys count]; i++){ NSLog(@"key:%@ value:%@\n", [keys objectAtIndex:i], [dict objectForKey:[keys objectAtIndex:i]]); } NSLog(@"----------------"); //NSEnumeratorを使う //arrayをループ NSEnumerator *enumerator =[arr objectEnumerator]; id obj; while(obj =[enumerator nextObject]){ NSLog(@"value:%@",obj); } NSLog(@"------dictをループ----------"); //辞書の値の列挙 NSEnumerator *enumerator2 =[dict objectEnumerator]; id obj1; while(obj1 =[enumerator2 nextObject]){ NSLog(@"value:%@",obj1); } //辞書のキーの列挙 NSEnumerator *kEnumerator =[dict keyEnumerator]; id key; while(key =[kEnumerator nextObject]){ NSLog(@"key:%@",key); } //高速列挙 NSLog(@"-----高速列挙-----------"); //NSArrayをループ NSLog(@"NSArrayをループ"); for(id obj2 in arr){ NSLog(@"%@",obj2); } //NSdictをループ NSLog(@"NSdictをループ"); for(id key in dict){ NSLog(@"key:%@ value:%@",key,[dict objectForKey:key]); } //NSEnumeratorをループ NSLog(@"NSEnumeratorをループ"); NSEnumerator *enumerator3 = [dict objectEnumerator]; for(id obj3 in enumerator3){ NSLog(@"%@",obj3); } [pool drain]; return 0; }
2011年5月13日金曜日
objective-Cで配列や辞書のループをする。高速列挙も使ってみる
高速列挙はPythonのように簡単だ!ლ(・ิω・ิლ)
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿