Object-Cで多次元配列とか

Posted 2010年7月2日 | Auther dada | Category PC・デジタル | Tag タグ: ,
Twitterにツイートする Facebookでシェアする はてなブックマーク

iPhoneプラグラミングメモ。

たとえばコミケのスペースの座標をまとめた配列を作るとき
「Aブロックの、1番目の、左上座標」みたいな表になるわけですが

NSDictionary *mapPosList = [NSDictionary dictionaryWithObjectsAndKeys:
							[NSArray arrayWithObjects:
							 [NSDictionary dictionaryWithObjectsAndKeys:
							  [NSNumber numberWithInt:100], @"left",
							  [NSNumber numberWithInt:200], @"top",
							  [NSNumber numberWithInt:50], @"width",
							  [NSNumber numberWithInt:125], @"height",
							  nil
							  ],
							 nil
							 ],
							@"A",
							nil
							];

NSLog(@"%d",  [[[[mapPosList objectForKey:@"A"] objectAtIndex:0] objectForKey:@"left"] intValue]);

という感じの、一目みてもわけわからん定義と呼び出しになるわけです。
もっとスマートな記述方法ないですかねえ…。

ActionScriptや JavaScriptに慣れていると

var mapPosList:Objects = {
	"A":[
		{left:100, top:200, width:50, height:125}
	]
};

trace( mapPosList['A'][0].left  );

くらいシンプルなのが当たり前だからなぁ…。

XMLで座標一覧作って、XPath使うのが一番スマートかもしれない。
全データ舐めるってわけじゃないし。

関連する記事

No Comments »

No comments yet.

Leave a comment

カテゴリー