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 件のコメント:
コメントを投稿