忍者ブログ

初心者が進めるiphoneアプリ開発

Macもiphoneすらもよく使ったことのない超初心者がお送りする、iphoneアプリの作り方の解説です。難しいことは抜きにしてとにかく動かしてみましょう。


×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



NSArrayクラスでは、変更不可なオブジェクト配列を作成できます。生成時の指定によってautoreleaseされる配列になったり、releaseされないで保持されたりする配列になります。保持する配列の場合は、不要になったら自分でreleaseしてください。

①autoreleaseされる配列

NSArray *arr;
arr=[NSArray arrayWithObjects:@"円",@"米ドル",@"ユーロ",@"ポンド",nil];

②autoreleaseされない配列A

NSArray *arr;
arr=[[NSArray alloc]initWithObjects:@"円",@"米ドル",@"ユーロ",@"ポンド",nil];

③autoreleaseされない配列B

NSArray *arr;
arr=[[NSArray arrayWithObjects:@"円",@"米ドル",@"ユーロ",@"ポンド",nil]retain];


これでNSString型のオブジェクトが4つ入った配列ができます。配列の番号を表すindexは0から始まり、0だと「円」、3だと「ポンド」になります。配列の最後には必ず「nil」が入り、これが無いとエラーになります。

初期化で使用したメソッドは以下です。

◆arrayWithObject
引数で指定したオブジェクトを含む配列を生成して返します。

◆initWithObjects
引数で指定したオブジェクトを含んで新規に割り当てた配列を初期化します。


autoreleaseされるかどうかを確かめてみます。プロジェクト名は「Test」として、「宣言→初期化→呼び出し」を実行します。

「TestViewController.h」の編集

@interface TestViewController : UIViewController {
    NSArray *arr;
}

- (IBAction)arrtest;

@end


「TestViewController.m」の編集

//ビューの初期化を実行する
- (void)viewDidLoad {
    [super viewDidLoad];
    
    //ここで①②③のどれかで配列を生成
}


//ボタンをタップするとコンソール画面にログを表示する
- (IBAction)arrtest {
    //indexが2番のオブジェクトを出す
    NSLog([arr objectAtIndex:2]);
}


このようなプログラムだった場合、①で生成するとボタンをタップしたときに配列「arr」はreleaseされてしまっているため、アプリは落ちてしまいます。②または③で生成すると正常にコンソール画面にログを表示します。



実行結果


また、配列をreleaseするには以下を実行します。

[arr release];


PR
コンテンツ
Macintosh初心者の館
Xcode and iOS SDKのインストール
簡単なアプリ「Hello World」を作成1
簡単なアプリ「Hello World」を作成2
簡単なアプリ「Hello World」を作成3
簡単なアプリ「Hello World」を作成4
デバッグ用にログを取る(NSLog)
文字列を操作する(NSString)
文字列の比較と検索(NSString)
文字列を数値などに変換する(NSString)
アラートの表示(UIAlertView)
配列の生成とautorelease(NSArray)
固定配列へのアクセス(NSArray)
可変な配列の生成と操作(NSMutableArray)
要素とキーを対で持つ配列(NSDictionary)
戻り値の扱い方
タイマー(NSTimer)を使用する1
タイマー(NSTimer)を使用する2
タイマー(NSTimer)を使用する3
時間を取得して計測に使う(NSDate)
iPhoneアプリのファイル操作
Text Fieldの使い方1(UITextField)
Text Fieldの使い方2(UITextField)
Text Fieldの使い方3(UITextField)
TextView(UITextView)の使い方1
PickerViewの使い方(UIPickerView)
テーブル(UITableView)の使い方1
テーブル(UITableView)の使い方2
テーブル(UITableView)の使い方3
ナビゲーションバーの使い方1
ナビゲーションバーの使い方2
ナビゲーションバーにビューを追加する1
ナビゲーションバーにビューを追加する2
ナビゲーションバーにビューを追加する3
XMLファイルを読み込む1
XMLファイルを読み込む2
XMLファイルを読み込む3
にほんブログ村 IT技術ブログ iPhoneアプリ開発へ
スポンサード リンク
忍者ブログ [PR]

Template by decoboko.jp