iPhoneアプリ開発初心者のブログ

プログラミング未経験の文系アラフォー会社員によるiPhoneアプリ開発日記

配列

年末年始のお休みも今日まで。

f:id:myup:20121224194723j:plain 

今日は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版

Xcode 4ではじめるObjective-Cプログラミング 改訂第2版