配列
年末年始のお休みも今日まで。
今日はNSArray, NSMutabuleArrayを使った配列をやりました。
練習したコードは以下です。
(ソース:NSArray/NSMutableArrayとオブジェクトの配列(1/6):初心者のためのObjective-Cプログラミング入門)
*NSArrayを作成し出力する。
#import <Foundation/Foundation.h>
int main(int argc, constchar * argv){@autoreleasepool {
NSArray* arr = [NSArrayarrayWithObjects:@"Hello", @"Welcome",
@"Bye", nil];
NSLog(@"%@", arr);
}
return0;
}
*NSArrayの全要素を出力する
#import <Foundation/Foundation.h>
int main(int argc, const char * argv){
@autoreleasepool {
NSArray* arr = [NSArray arrayWithObjects:@"Hello", @"Welcome", @"Bye", nil];
NSInteger n = [arr count];
for (int i = 0; i < n; i++) {
NSLog(@"%i:%@",i, [arr objectAtIndex:i]);
}
}
return 0;
}
*2つのNSArrayを1つにして出力する
#import <Foundation/Foundation.h>
int main(int argc, const char * argv){
@autoreleasepool {
NSArray* arr = [NSArray arrayWithObjects:@"one", @"two", nil];
NSArray* arr2 = [NSArray arrayWithObjects:@"three", @"four", nil];
NSArray* newarr = [arr arrayByAddingObjectsFromArray:arr2];
NSInteger n = [newarr count];
for (int i = 0; i < n; i++) {
NSLog(@"%i:%@",i, [newarr objectAtIndex:i]);
}
}
return 0;
}
*MutableArrayを使ったインスタンスの作成、オブジェクトの追加、変更
#import <Foundation/Foundation.h>
int main(int argc, const char * argv){
@autoreleasepool {
NSMutableArray* arr = [NSMutableArray arrayWithCapacity:1];
[arr addObject:@"Hello"];
[arr addObject:@"Hi"];
[arr replaceObjectAtIndex:1 withObject:@"Bye!"];
NSLog(@"%@",arr);
}
return 0;
}
*オブジェクトの挿入と削除の例
#import <Foundation/Foundation.h>
int main(int argc, const char * argv){
@autoreleasepool {
NSMutableArray* arr = [NSMutableArray arrayWithObjects:@"Hello", @"Welcome", @"Bye", nil];
[arr insertObject:@"Hi" atIndex:1];
[arr removeObject:@"Welcome"];
[arr removeObjectAtIndex:0];
NSLog(@"%@",arr);
}
return 0;
}
*イテレータ(多数の要素から順に値を取り出すための専用の機能)利用法の
サンプル。2つのサンプルがあり、順に出す場合と逆に出す場合で、
それぞれfor構文、NSEnumeratorを使っています。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv){
@autoreleasepool {
NSMutableArray* arr = [NSMutableArray arrayWithObjects:@"Hello", @"Welcome", @"Bye", nil];
for (id obj in arr) {
NSLog(@"%@",obj);
}
NSEnumerator* enm = [arr reverseObjectEnumerator];
id obj;
while (obj = [enm nextObject]) {
NSLog(@"%@",obj);
}
}
return 0;
}
引き続きがんばります。
Xcode 4ではじめるObjective-Cプログラミング 改訂第2版
- 作者: 大津真
- 出版社/メーカー: ラトルズ
- 発売日: 2013/06/28
- メディア: Kindle版
- この商品を含むブログを見る