Labs

<< 最初 < 前ページ 次ページ > 最後 >>
icon UITableViewのカスタムセル(UITableViewCell) (2010/06/11)

※このサンプルは iOS4.3 でクラッシュしました。

改訂版はこちら

会社でiPadが支給(といっても共有だけど)されて、ちょいテンションあげあげ。
と言う事で、続き。

アプリを効率的に作りには、カスタムコンポーネントは必須ですよね。
って事で、これがベストプラクティスかわからないが、参考本を元に作ってみる。

UITableViewのセルをカスタムViewで表示する場合、UITableViewCellを利用する。

カスタムクラスファイルの作成

Classesで「新規ファイル...」>Cocoa Touch Class > Objective-C Class
iPhone

「CustomCell.m」と名称をつけて.hも一緒に作成する。
iPhone

次に、Resourcesで「新規ファイル...」>User Interface > Empty XIB
iPhone「CustomCell.xib」と名称をつけて作成。 CustomCell.hにアウトレットを定義

@interface CustomCell : UITableViewCell {
	UILabel *nameLabel;
	UILabel *positionLabel;
}
@property (nonatomic, retain) IBOutlet UILabel *nameLabel;
@property (nonatomic, retain) IBOutlet UILabel *positionLabel;

インターフェイスビルダーでセルを編集

(1) CustomCell.xibを開く
iPhone


(2) CustomCell.xibに、Library > Table View Cellコンポーネントをドラッグ&ドロップして追加

(3) 追加したTableViewCellを設定する
・Class名:CustomCell
・Identifier:CustomCellIdentifier
iPhone
(4) TableViewCellにUILabelを追加し、アウトレットを設定(nameLabel、positionLabel)
iPhone

XCodeでカスタムセルを読み込む

(1) XcodeでTableViewController.mを開き、CustomCellをimportする
#import "CustomCell.h"
(2) cellForRowAtIndexPathでセルを表示する
- (UITableViewCell *)tableView:(UITableView *)tableView
		 cellForRowAtIndexPath:(NSIndexPath *)indexPath {
	
	static NSString *CustomCellIdentifier = @"CustomCellIdentifier";
	CustomCell *cell = (CustomCell *)[tableView 
				dequeueReusableCellWithIdentifier:CustomCellIdentifier];
	
	if (cell == nil) {
		NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" 
						owner:self options:nil];
		for (id obj in nib) {
			if ([obj isKindOfClass:[CustomCell class]]) {
				cell = (CustomCell *)obj;
			}
		}
	}
	NSUInteger index = [indexPath row];
	NSDictionary *rowData = [self.players objectAtIndex:index];
	cell.nameLabel.text = [rowData objectForKey:@"Name"];
	cell.positionLabel.text = [rowData objectForKey:@"Position"];
	return cell;
}

ポイントは
・dequeueReusableCellWithIdentifierで、cellを取得
・cellがnilの場合、NSBundleでCustomCell(nib)を読み込み、nibのオブジェクトが「CustomCell」をcellを作成
icon Safari5 (2010/06/10)
iPhone4が発表されましたが、何気にSafariもかなりのバージョンアップ。

>Apple、Bingも選べる「Safari 5」をリリース 機能拡張の追加も可能に

目玉は、HTML5の機能強化とSafari Extensions
開発に関しては、Developer ProgramsからSafari Developer Programの登録(無料)が必要。
「Safari Extensions Gallery」の登録可能になって、自作のプラグインが公開できる。

自宅のMacの方は、プラグイン豊富なFireFoxにしてたけど、Safariをメインにしても良いかも?
ちなみに、Windows版の機能拡張が見当たらないんだけど・・・。
OSレベルで対応なのかね?

開発についても、ちょっとチェクしとかないとね!
Safari ExtensionsでHello World!
icon CentOS設定メモ (2010/06/03)
CentOSはウチの会社の標準なんだけど、オイラずっとDebianなのでサーバ設定に関しては何気に初めてw
無事、サーバ移行完了しました!
うほー、まだまだメモリーに余力ある。
■PHP
CentOS5系だとPHP5.2系じゃないので、色々と問題が・・・。
まず、XMLパースができないので
# yum install php-xml

次に、jsonが利用できないので、別途ソースでインストール
▽参考
Ver5.2 未満でJSONデータを出力する方法

# wget http://www.aurore.net/projects/php-json/php-json-ext-1.2.1.tar.bz2# tar jxvf php-json-ext-1.2.1.tar.bz2
# cd php-json-ext-1.2.1
# ./configure
# make
# make install


/etc/php.d/json.iniを作成して、以下を記述

extension=json.so


■PostgreSQL
▽インストール

# yum -y install postgresql-server

パッケージ管理は、Debianのaptitude、apt-getとほぼ機能は変わらなさそう。

▽設定ファイル
/var/lib/pgsql/data/pg_hba.conf

host all all 127.0.0.1/32 trusthost all all 192.168.1.0/24 trust



/var/lib/pgsql/data/postgresql.conf

listen_addresses = 'localhost'port = 5432



▽自動起動設定

# /sbin/chkconfig postgresql on

これは便利かも。

▽手動起動

# /sbin/service postgresql start

CentOSだとサービス起動は「/sbin/service」になるのね。

▽PHPモジュール

# yum -y install php-pgsql

■Apache
ここはDebianとファイル構成が違うので注意。
本当はファイルを分割して管理したいけど、とりあえずhttpd.confを直接変更した。

/etc/httpd/conf/httpd.conf
▽サーバ名

ServerName yoo-s.com:80

▽DocumentRootディレクトリ(/var/www/html)

Options Indexes FollowSymLinks MultiViews AllowOverride All
Order allow,deny
allow from all


さてさて、ここでCentOS特有(?)のハマリモードへ(T_T)
yooユーザを作ってシステムを置いて運用しようと思ったら、
PHPのrequire処理で、Permissin denidedで何かアクセス拒否される!

ちなみにDocumentRootは、/var/www/html/

var/www/内の階層ならyoo権限で動くが、/home/yoo/内だと拒否

Apacheなのか、Linuxアクセス権限なのか切り分けがつかないorz

とりあえず、/var/www/で運用するか・・・
それにしても、無茶苦茶レスポンスが高速になった(^_^)v

<< 最初 < 前ページ 次ページ > 最後 >>