XcodeというかObjective-Cの勉強(超基礎編:動的配列とか文字列の比較とか)
配列
動的配列の方法はどうなっている?
// // main.m // sample1 // // Created by xxxx on 2014/05/14. // Copyright (c) 2014年 xxxx. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); // 文字列の比較 NSString *aaa = @"aaa"; if([aaa isEqualToString: @"aaa"]){ NSLog(@"aaa一致"); } if([aaa isEqualToString: @"bbb"]){ NSLog(@"aaa一致"); }else{ NSLog(@"aaa不一致"); } // Boolean Boolean vv; vv = true; if(vv == true){ NSLog(@"vv match"); }else{ NSLog(@"vv no match"); } if(vv == false){ NSLog(@"vv match"); }else{ NSLog(@"vv no match"); } // 配列を定義して、一気に3つ設定する NSArray *list; list = [NSArray arrayWithObjects:@"aaa", @"bbb", @"ccc", nil]; // for eachにて繰り返し for(NSObject *obj in list){ NSLog(@"%@", obj); } // 動的に配列に項目を追加 NSMutableArray *list2 = [NSMutableArray array]; [list2 addObject:@"xxx1"]; [list2 addObject:@"xxx2"]; [list2 addObject:@"xxx3"]; [list2 addObject:@"xxx4"]; [list2 removeObjectAtIndex:2]; // for eachにて繰り返し for(NSObject *obj in list2){ NSLog(@"%@", obj); } } return 0; }
結果
2014-05-14 21:43:04.713 sample1[9781:303] Hello, World! 2014-05-14 21:43:04.715 sample1[9781:303] aaa一致 2014-05-14 21:43:04.716 sample1[9781:303] aaa不一致 2014-05-14 21:43:04.716 sample1[9781:303] vv match 2014-05-14 21:43:04.716 sample1[9781:303] vv no match 2014-05-14 21:43:04.717 sample1[9781:303] aaa 2014-05-14 21:43:04.717 sample1[9781:303] bbb 2014-05-14 21:43:04.717 sample1[9781:303] ccc 2014-05-14 21:43:04.718 sample1[9781:303] xxx1 2014-05-14 21:43:04.718 sample1[9781:303] xxx2 2014-05-14 21:43:04.718 sample1[9781:303] xxx4 Program ended with exit code: 0
まとめ
配列もデータ型でいくつかあるようでNSArrayでは動的な追加はうまく行かなかった。
しかし、配列などの件数が不明確な場合はfor-eachでこの方法はjavascriotと同じみたいな感じ
普段、*は使ってなかったのでちょっとなれるのに大変かも…