iphone

定義したデータモデルからCoreDataのNSManagedObjectのサブクラスを生成する

以下の手順で定義したデータモデルに対するNSManagedObject(のサブクラス)が生成される。 データモデルをXcode上で開き、 「ファイル - 新規ファイル」で新規ファイルウィザードを開く 「iPhone OS - Cocoa タッチクラス」の「管理オブジェクトクラス」を…

UITableViewとボク

今日はUITableViewとたわむれたよ。以下は学びの記録。 テーブルのデータを再読み込みしたい場合は、UITableView#reloadDataを使う UITableViewを使うときにはUITableViewControllerをサブクラスを使うと便利 メソッドのテンプレートや、UITableViewDataSour…

メッセージダイアログを表示したいよね

Javascriptのalert関数みたいにiPhoneアプリでメッセージダイアログを表示したい場合にはUIAlertViewクラスを利用する。いろいろ引数があるけど最小限は以下のような感じで呼び出せばOK。 - (IBAction)buttonPressed:(id)sender { UIAlertView *alert = [[UI…

TabBarControllerと仲良くなりたい

TabBarControllerと遊んだ際の記録。忙しい人は最後の方のまとめだけどうぞ。「ファイル - 新規プロジェクト...」から新規プロジェクトを作成、アプリケーションテンプレートには「Tab Bar Application」を選択。名前は適当に「TabBarApp」とでも。プロジェ…

NSURLRequestとNSMutableURLRequestの違い

がよく分かってないので軽く調査。以下がNSURLRequestとNSMutableURLRequestとで異なるみたい。 NSMutableURLRequestの方は生成したインスタンスを使いまわせる NSMutableURLRequestはpostが送れる NSMutableURLRequestはHTTPヘッダをセットできる コードは…

CoreDataでCRUD

とりあえずコードだけ貼っとく。あとでまとめる。 - (void)applicationDidFinishLaunching:(UIApplication *)application { /* SELECT & UPDATE */ // create context NSManagedObjectContext *context = [self managedObjectContext]; // create request NS…

プロパティのnonatomicとretain

プロパティの宣言時によく使うnonatomicとretainについて。 @property (nonatimic, retain) UITextField *nameField;retainをつけていると@synthesizeしたときに「新しい値へのretain」と「古い値へのrelease」を行うコードが生成される。ということはsynthe…

UIPickerViewですの

Head First iPhone Developmentを読んでる。以下はUIPickerViewのメモね。 UIPickerViewで使うプロトコル UIPickerViewDataSourceプロトコル コンポーネント数とコンポーネント内の行数を返す UIPickerViewDelegateプロトコル 選択したコンポーネント内の指…

デフォルトのinitをオーバーライドしてみたけれど

こんなんでいいのかしら。自信がない。 - (Memo *)init { [super init]; memo = @""; return self; } id:emeitchから指摘をうけたよ!こうするのがいいみたい。 - (id)init { self = [super init]; if (self != nil) { memo = @""; } return self; }

Xcodeとgitignore

Xcodeが生成するファイルのうちでgitで管理したくないものがいろいろとあった、gitignoreの設定をしてみた。 リポジトリのトップに「.gitignore」ファイルを作成する 中身は以下のとおり build/ *.pbxuser *.mode1v3他にもありそうな気がするけど、とりあえ…

Objective-Cでの真偽値型

BOOL bool Boolean Objective-C内で使える真偽値型として次の3つがあるのだけど、どれを使うのが正しいのかよくわからない。実は型だけではなく値の方もいくつかある。 true TRUE YES こうなると、boolにYESを入れればいいのか、BOOLにtrueを入れればいいの…

Unit Testing for iPhone App Development

iPhoneアプリ開発におけるユニットテストに関して自分用にまとめてみた。 2つのテストタイプ Xcodeが提供するユニットテストには2つのタイプがある。 Logic tests Application tests Javaで例えるなら、Logic testsはJUnitで行うようなテストでApplication …

NSMutableArrayの使い方

// 空の配列の生成 NSMutableArray *a = [[NSMutableArray alloc] init]; NSLog(@"a = %@", a); //=> [] NSLog(@"a.count = %d", [a count]); //=> 0 [a release]; // 値を指定した配列の生成 a = [[NSMutableArray alloc] initWithObjects: @"first", @"sec…

UITextViewが編集中の場合はナビゲーションバーへDoneボタンを表示したい

UITextViewDelegate#textViewDidBeginEditing:とUITextViewDelegate#textViewDidEndEditing:の中で UINavigationItem#rightBarButtonItem(Leftでもいいけど)を差し替えればOK。コードにはこんな感じ。コントローラ内にフィールドを宣言したあと、Interface…

TextViewがキーボードの下に隠れないようにするためには?

「UIKeyboardDisShowNotification」を受けとったときにTextViewのサイズを小さくして、「UIKeyboardDidHideNotification」を受けとったときに元のサイズに戻してやればよさそう(まだ試してない)。iPhoneアプリケーションプログラミングガイドを参考のこと…

UITextFieldでリターンキーを押した時にキーボードを隠したい

よね。UITextFieldの入力時にリターンキーを押すと「Did End On Exit」イベントが発生するので、その中で以下のようにしてやればOK。これで表示されていたキーボードが隠れる。 - (IBAction)onExit { [textField resignFirstResponder]; }UITextViewではリタ…

はじめてのiPhoneプログラミング

はじめてのiPhoneプログラミング作者: デイヴ・マーク,Dave Mark,ジェフ・ラマーチ,Jeff LaMarche,マーク・ダルリンプル,鮎川不二雄出版社/メーカー: ソフトバンククリエイティブ発売日: 2009/06/27メディア: 大型本購入: 36人 クリック: 459回この商品を含…

UIImageViewのサイズを設定したイメージファイルと同じ大きさにする

UIImageViewへ適当なイメージファイルを指定後にInterfaceBuilderのメニューから「Layout - Size to Fit」を選択する。これでUIImageViewのサイズが指定したイメージファイルと同じサイズになる。

.hと.mを行ったり来たりする

「option + command + ↑」でおk。

TabBarControllerやNavigationControllerを使わずにViewを切り替える方法

が分からなかったので簡単なアプリを作って試してみた。お題はアプリケーション情報がかかれたAbout画面を表示するアプリ。まずは、About画面用のビューを作成する。この画面はInterfaceBuilderを使って作成します。(楽だから)次にAbout画面保持用のインス…

Interface Builder上からViewControllerのNIBを設定したい

ViewControllerのAttributesタブの中にある「NIB Name」で指定できるよ。

アクション君とアウトレットさん

iPhoneのシキタリを身体に覚えさせるために、はじめてのiPhoneプログラミングを粛々と写経中。IBOutletとIBActionの書き方がいつまでたっても覚えられないことに絶望したため、ここにそのサンプルを記す。 // Button_FunViewController.h ... @interface But…

MainWindow.xibのFiles Ownerはだれ?

HogeViewControllerにhoge.nibを指定すると、hoge.nib内のFile's OwnerはHogeViewControllerのオブジェクトになる。じゃあ、Main nib fiileに指定したNIBファイルのFile's Ownerは何になるのかしらと思ったので調べてみた。 // AnViewController.h ... @inte…

はじめてのiPhoneプログラミング

「はじめてのiPhoneプログラミング」を買ってきた。以前購入した「iPhoneデベロッパーズクックブック(通称エリカ本)」と違って、ちゃんとInterface Builderを使ってUIを構築していくのが好印象。エリカ本は良い本なんだけど今さらUI組み立てるのに座標なん…

iPhoneアプリとServiceLayerパターン

iPhoneアプリケーション開発の定石がまだよくわかってないんだけど、UIApplicationDelegateをServiceLayerにすればいいのかなぁと妄想中(もわもわもわーん)。http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?ServiceLayer

UIApplicationDelegateの参照のしかた

アプリ内のとあるロジックからApplication Delegateのメソッドを呼びたい場合はUIApplication#sharedApplicationを使ってUIApplicationのインスタンスを取得するのが良さそう。返ってきたUIApplicationのインスタンスのdelegateプロパティに目的のApplicatio…

NSArrayの使い方

NSArrayの使い方はこんな感じ。ちなみに配列要素の追加や削除を行いたい場合にはNSArrayではなくNSMutableArrayを使います。NSMutableArrayの使い方はこちらをどうぞ→http://d.hatena.ne.jp/thata/20091031/1256944776 // 要素数0の配列 NSArray *empty = [N…

iPhone開発メモ

Xcodeでコード補完 それっぽい所で esc を押すと補完候補一覧が表示される。カーソルキーの上下で候補を選択し、tab キーで候補を選択できる。 ロギング NSLog関数を使う。Xcodeのメニューから「実行 - コンソール」を選択してデバッガコンソールを開く。 NS…

iPhone App Programming Guide

を読んでる。http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html See Also 他にも読むべきドキュメントがいくつかあるみたい。重要なのは以下の3つ。 iPhone Development…

iPhoneアプリを作成するときに最初に行う設定

自作iPhoneアプリを実機へのせる設定はできたんだけど、それとは別に新規iPhoneアプリを作成するときには常に以下を行う必要がある。のだけど、すぐに忘れそうなのでメモっておくよ。 info.plistの「Bundle Identifier」をプロビジョニングにあわせて変更す…