Objective-C

一行知識

#import<>だと標準ライブラリのディレクトリから検索。""だと現在のディレクトリから検索。一度読み込んだものは再度読み込まない。

Javaとの比較

プロパティはJavaと同じ感覚でつかえるけど、メソッドの呼び方が他の言語と比べると特殊。ネストしてたら目も当てられない複雑さ。

this.someMethod(arg1, arg2)[self someMethod:arg1 arg2:arg2]
ListNSMutableArray
MapNSMutableDictionary
interfaceprotocol
view.getI()sender.tag

iOS

プロジェクトファイルの構成

一つのViewControllerだけのアプリケーションであればシンプルで、ViewControllerで使いたい部品をViewController.hに接続してあげればよい。アプリ全体の起動、終了にかかわることはViewControllerに記述するのではなく、AppDelegateにまさに委譲している。これにより複数ViewControllerがあるアプリでも、アプリ全体に関する設定の記述を迷わなくてすむのだ。

アプリケーションデリゲート

イベントの通知をうけるメソッドを定義してある。Androidでいうところのライフサイクルイベント。どのときに呼ばれるかはメソッド名を見れば一目瞭然。またActivityにListenerを実装するようにコントローラー自体にdelegateメソッドを持たせることも可能。その場合はViewController.hでプロトタイプを宣言しておく。たとえばUITextFieldDelegateを実装する場合は<UITextFieldDelegate>と宣言し、実装クラスでtextFieldShouldReturnメソッドを実装する。UIAlertViewにもdelegateを指定することができる。ボタン押されたときの処理分岐をViewControllerで実装することができる。

複数Viewでの情報共有

アプリケーションデリゲートにプロパティを追加する。そのプロパティを各ViewControllerで利用する。なお利用するためにはimport文が必要

コード内でUI部品の追加

UILabel *label = [[[UILabel alloc] init] autorelease];
[self.view addSubview:label];

お役立ちリンク集

http://golog.plus.vc/iphone/906/ http://d.hatena.ne.jp/moto_maka/20110425/1303673150

Xcode4

ナビゲータエリア

eclipseのパッケージエクスプローラーの位置にある。通常はファイル表示。シンボルナビデーターでクラス名やメソッド名のみ表示させることができる。

エディタ

アシスタントエディターの分割Viewメニューから選べる。また右上のプラスボタンで分割できる
アシスタントエディターで開くOption(Alt) を押しながらクリックする
開く場所を選ぶOption(Alt)+Shift を押しながらクリックする
メソッド定義へ飛ぶCommand(Windows)を押して、クリックか右クリックして定義へ飛ぶ

外部ライブラリ

frameworkフォルダに依存フレームワークを持ってくる

書籍情報

書籍名感想場所サポートサイト
iOSデバッグ&最適化技法 for iPad/iPhone入門レベルでは必要性を感じないが、そのうち再読必要上福岡図書館
10日でおぼえる iPhoneアプリ開発入門教室サンプル、画面キャプチャー豊富でこれよい!元大井町図書館
よくわかるiPhoneアプリ開発の教科書各パーツの説明は丁寧だけど、つなぎ合わせてのサンプルが少ない。Xcode4対応版もあるので注意NCChttp://book.mycom.co.jp/support/pc/iphonesdk_book/
iPhone/iPad/iPod touch プログラミングバイブル同じ著者のAndroid本と同じくコード上で部品を配置していくスタイルNCC

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS