Home > Object-C Archive
Object-C Archive
iPhoneアプリ UITableViewを試す。
- 2010-03-14 (日)
- Object-C | iPhone | iPhone SDK 3
「Macを買うなら…」でおなじみの、秋葉館オンラインショップ
もちろん話題のiPodも本体を含め関連商品充実! ![]()

色々と大変そうなので、避けていたのですが、
UITableViewの基礎を試してみました。
こちらをベースに色々カスタマイズしてみようと思います。
- tableView:cellForRowAtIndexPath: メソッド
indexPathが指定する位置のUITableViewCellのインスタンスを返すようにする。 - tableView:numberOfRowsInSection: メソッド
テーブルが保持するセルの数を返すようにする。
iPhone Dev Center: UITableViewDataSource Protocol Referenceより
@implementation RootViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title =@"UITableView 聖域十二宮編";
//Tableに表示する要素
items_ = [[NSArray alloc] initWithObjects:
@"1月 山羊座 - Capricornus", @"2月 水瓶座 - Aquarius",@"3月 魚座 - Pisces",
@"4月 牡羊座 - Aries", @"5月 牡牛座 - Taurus", @"6月 双子座 - Gemini",
@"7月 蟹座 - Cancer", @"8月 獅子座 - Leo", @"9月 乙女座 - Virgo",
@"10月 天秤座 - Libra", @"11月 蠍座 - Scorpio", @"12月 射手座 - Sagittarius",
nil];
}
<pre>//Viewのリリースに、要素の配列をリリース</pre>
- (void)viewDidUnload {
[items_ release];
}
// テーブルが持っているセルの数を返す
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [items_ count];
}
// UiTableViewCellのインスタンスを返す
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
cell.textLabel.text = [items_ objectAtIndex:indexPath.row];
return cell;
}

セルの選択時にアクションを発生させるには、didSelectedRowAtIndexPathメソッドをオーバライドします。
// セルの選択をハンドリングしてアクションを発生させる
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString* message = [items_ objectAtIndex:indexPath.row];
UIAlertView* alert = [[[UIAlertView alloc] init] autorelease];
alert.message = message;
[alert addButtonWithTitle:@"OK"];
[alert show];
}
- Comments: 0
- Trackbacks: 0
iPhone OS のバージョン
- 2010-02-08 (月)
- Object-C | iPhone | iPhone SDK 3
iPhone これは使える!アプリ&ツールガイド OS3.0&3GS (SOFTBANK MOOK)
新しいSDKでアプリ開発すると、意外とダウンロードできない人がいるので、iPhone OSのおさらいをしてみました。
iPhone OS バージョン
| バージョン 2.1 | 2008年9月12日配布開始 | |
|---|---|---|
| バージョン 2.2 | 2008年11月21日配布開始 | |
| バージョン 2.2.1 | 2009年1月27日配布開始 | |
| バージョン 3.0 | 2009年9月9日配布開始。 | iPhoneからのアップデートは無料。 iPod Touchからのアップデートは1200円の有料 |
| バージョン 3.1 | 2009年9月9日配布開始。 | iPhoneからのアップデートは無料。 iPod Touchからのアップデートは600円に値下げ |
| バージョン 3.1.2 | 2009年10月9日配布開始 | 同上 |
| バージョン 3.1.3 | 2010年2月3日配布開始 | 同上 |
| バージョン 3.1.3 | Beta(2010/02/05現在) | iPad対応 |
iPhone OS
Mac OS X v10.5開発プロジェクトから派生して開発された、iPhoneおよびiPod Touch の専用OS
SDK
- Cocoa Touch
マルチタッチ機能の制御、加速度センサ、View hierarchy、言語サポート、カメラ - メディアコンポーネント
OpenAL、オーディオと録音、ビデオフォーマットおよびイメージフォーマットのサポート、Quartz、Core Animation、OpenGL ES - Core Services
ネットワークサポート、アドレスブック、SQLite データベース、スレッド、Core Location - カーネル
TCP/IP、ソケット、パワーマネージメント、ファイルシステム
- Comments: 0
- Trackbacks: 0
Object-C 基礎の基礎 プロパティのメモ
- 2010-01-21 (木)
- Object-C | iPhone | iPhone SDK 3
サンプルコードに、@がいっぱいあって、
「なんですかこれは、Mentionですか?」
と、困惑したときのメモです。
プロパティ・・・「クラスにアクセッサメソッドを簡単に付加する」
クラスが持つインスタンス変数に安全にアクセスさせるためのアクセッサメソッドを追加を、自動化してくれるのがプロパティ。
- 利点:安全
- 欠点:メソッドの呼び出しが発生するので、パフォーマンス的に不利。
1. プロパティの宣言
@interface MyClass : NSObject
{
NSString *value;
}
@property(copy, readwrite) NSString *value;
@end
@property (属性) 型名 プロパティ名;
@implementation MyClass @synthesize value; @end
@synthesize指示子で、プロパティ名を指定すると、
アクセッサメソッドを自動的に合成。
インスタンス変数のnameのgetterとsetterを追加。
2. プロパティへのアクセス
MyClass *myInstance = [[MyClass alloc] init]; myInstance.value = @"New value"; NSLog(@"myInstance value: %@", myInstance.value);
ドット構文を使うと、構造体の要素にアクセスするときと同じパターンを使ってプロパティにアクセス。
myInstance.valueは、インスタンス変数に直接アクセスしているわけではなく、アクセサリメソッドを呼び出している。メソッドを記述する手間を省いてるというもの。
- Comments: 1
- Trackbacks: 0
Home > Object-C Archive