Objective-C

Referencing OutlesとOutlets

Referencing Outlesは参照されているもの、Outletsは参照しているもの。

main関数で行われること

main.mにあるmain関数では以下のことが行われている。 UIApplicationクラスのインスタンス生成 info.plistファイルにある主要NIBファイルの定義を参照 NIBファイルのロード NIB上のFile's OwnerをUIApplicationに割り当てる アプリケーション内のイベントル…

UIApplicationの主なデリゲート

applicationDidFinishLaunching アプリケーションの起動直後。主にこのメソッドで初期化処理を行う。 applicationWillTerminate 終了前に実行されるメソッド。 applicationDidReceiveMemoryWarning メモリ不足が発生した際に実行されるメソッド。iPhoneアプ…

画面サイズを取得する

UIScreen mainScreenメソッドでUIScreenのインスタンスを取得しbounds、applicationFrameを参照。 boundsは画面全体、applicationFrameは時計、バッテリーなどの表示域を除いた部分。iPhoneアプリケーションプログラミング新居 雅行技術評論社 2009-06-19売…

URLを開く

UIApplicationのopenURLを使う。 通常のURL以外にもメール、電話、SNS、グーグルマップ、iTunesストア、YouTubeも開くことが可能。

nilにメソッドを実行すると

中身がnilの変数のメソッドを実行すると通常は落ちると思うのだけど、実行されてしまうので要注意。

iPhoneアプリケーションプログラミング

iPhoneアプリケーションプログラミング作者: 新居雅行出版社/メーカー: 技術評論社発売日: 2009/06/19メディア: 大型本購入: 2人 クリック: 19回この商品を含むブログ (12件) を見るまたもやiPhone関連書籍を購入してしまった。 何か新しいことを始めると、…

入門 Objective-C 2.0

入門 Objective-C 2.0 (Programmer’s SELECTION)作者: Scott Knaster,Mark Dalrymple,長尾高弘出版社/メーカー: 翔泳社発売日: 2009/07/16メディア: 大型本購入: 14人 クリック: 133回この商品を含むブログ (22件) を見る気になる本。

ポージング

Dynamic Objective-Cより。 ポージング。 既存のクラスの機能を乗っ取る。 @interface TransparentWindow {} @end @Implementation TransparentWindow + (void) load { [self poseAsClass:[NSWindow class]] } -(float)alphaValue { return 0.6f; } @end 全…

カテゴリ

Dynamic Objective-Cより。 以前、正規表現を扱った処理を書いたとき、NSStringクラスに正規表現のためのメソッドが追加されており驚いたが、カテゴリという仕組みだった。 こんな風に書くと既存のクラスを拡張することができる。 @interface NSString(NewSt…

O/Rマッパ

Dynamic Objective-Cで動的にクラスを作成できる事を知った。 動的なO/Rマッパを作れるなと夢想。Dynamic Objective-C作者: 木下誠出版社/メーカー: ビー・エヌ・エヌ新社発売日: 2009/03/27メディア: 単行本(ソフトカバー)購入: 9人 クリック: 119回この…

iPhoneで簡単にDBを扱う

iPhone デベロッパーズ クックブックより。 iPhoneでお手軽にDBを扱うためのクラスが紹介されていたが、作者のサイトが落ちているようであたふた。 結局、 http://flycode.googlecode.com/svn/trunk/fmdb/src/ こちらに発見。使い方は FMDatabase.h FMDataba…

class-dump

ダイナミック Objective-Cで知ったclass-dump。 フレームワークやらアプリの中身を覗くことができるコマンドラインから使用するツール。Dynamic Objective-C作者: 木下誠出版社/メーカー: ビー・エヌ・エヌ新社発売日: 2009/03/27メディア: 単行本(ソフトカ…

Dynamic Objective-C

Dynamic Objective-C作者: 木下誠出版社/メーカー: ビー・エヌ・エヌ新社発売日: 2009/03/27メディア: 単行本(ソフトカバー)購入: 9人 クリック: 119回この商品を含むブログ (30件) を見る買ってしまった。 読みやすいのにマニアックな内容。 ただiPhoneそ…

iPhone各種フレームワーク

iPhoneから使用するFrameworkは /Developer/Platforms/iPhoneOS.Platform/Developer/SDKs/iPhone.OS2.2.1.sdk/usr/libにある。

iPhoneでデータベース

iPhoneで使えるデータベースはsqlite3とのこと。 シミューレータがインストールされたディレクトリの中にsqlitedbなる拡張子が付いたファイルがあるので覗いてみる。 sqlite3 ~/Library/Application Supoort/iPhone Simulator/User/Library/AddressBook.sqli…

ボタンの背景に画像を設定する

iPhoneでボタンの背景に画像を設定するには、XCodeのグループとファイルにあるResourcesフォルダに画像ファイルをFinderからドロップ後、InterFace BuilderのBackgroudプロパティからドロップしたファイルを選択。

WindowとView

iPhoneのアプリでは基本的にWindow1つに対し、Viewが複数ある。 WindowsアプリでのWindowとは違う。WindowsアプリのWindowはiPhoneではViewに当たると理解した。

Viewの切替

iPhoneアプリ入門(Viewの変更) - iPhone App Docs あとで試させていただく。

ActionSheetを表示する

下からニョーンと出てくるヤツ。 UIActionSheetDelegateを実装し UIActionSheet *sheet =[[UIActionSheet alloc] initWithTitle:@"title" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:"OK" otherButtonTitles:@"button1", @"button2"…

Alertを表示

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"message" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil]; [alert show]; [alert release]; Windowsで言うところのメッセージボックスみたいなのを表示。 どの…

正規表現で文字列操作

こちらと付属のマニュアルを参考に、正規表現で文字列を操作できた。 NSString *line; NSString *regexString = @"(<h2.*><b>)(.*)(</b></h2>)"; NSString *regResult; regResult = [line stringByMatching:regexString capture:2L]; 2Lは何番目のキャプチャかを指定している。…

タッチの制御

自分が作るアプリはきっとマルチタッチは使わないだろう。 multipleTouchEnabled マルチタッチが可、付加を制御 exclusiveTouch 他のビューがタッチを受け取れるかを制御

いろんなコントロール

公式のサンプルにあるUICatalog。 いろんなコントロールが見られて楽しいし、勉強になる。

変な文字列の初期化

詳しい方にとっては当たり前かもしれないが、 NSString *str = @"12" @"34"; と書くと、strの中身は1234となる。

向きの検知

UIDeviceクラスのcurrentDeviceメソッドから取得できる。 画面が表、裏のどちらを向いているかを検知できるのを知った。 52台集めて神経衰弱をやるプログラムを夢想した。

mutableとimmutable

mutableは内容が可変なクラス、immutableはその逆。 NSStringはimmutableなので一度設定した値を変更することは出来ない。 NSMutableStringはmutableなので変更することが出来る。

文字列の走査

NSScanner *scanner; scanner = [NSScanner scannerWithString:result]; NSCharacterSet *charSet; charSet = [NSCharacterSet newlineCharacterSet]; NSString *line; while (![scanner isAtEnd]) { [scanner scanUpToCharactersFromSet:charSet intoString…

正規表現

iPhoneアプリで正規表現を使う - 24/7 twenty-four seven これもいつか使わせていただく。

iPhone デベロッパーズ クックブック

iPhone デベロッパーズ クックブック作者: Erica Sadun,株式会社クイープ出版社/メーカー: ソフトバンククリエイティブ発売日: 2009/02/12メディア: 大型本購入: 20人 クリック: 474回この商品を含むブログ (60件) を見るこの手の本はいつ買えなくなるかわか…