Objective-C

Objective-Cの言語仕様(カテゴリ編)

カテゴリ Rubyのオープンクラスにmoduleをincludeするように、独自のクラスを拡張できる仕様。 一般的な命名規則 クラス名 + カテゴリ名. h クラス名 + カテゴリ名.mというファイル名にするのが一般的。 まずRubyの例から(moduleで拡張) Stringクラスをmod…

システムバーボタン

https://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIBarButtonItem_Class/Reference/Reference.html

WebViewにURLを教える方法

self.webView.delegate = self; NSURL *url = [NSURL URLWithString:@"http://yahoo.co.jp"]; NSURLRequest *req = [NSURLRequest requestWithURL:url]; [self.webView loadRequest:req];

initとinitWithNibNameの関係

自分自身のxibファイルを作ったときinitを呼び出すとxibファイルの中身が見れた ファイル構成 HogeViewController.h HogeViewController.m HogeViewController.xib ソース [HogeViewController alloc init] 結果 xibファイルが表示される。 HogeViewControll…

init関数

init関数 init関数はObj-Cの根本になるクラスのメソッドなので、これを以下みたいに読んでもxibファイルなんか呼ばれない。 例 [[HogeViewController alloc] init]; オーバライドしてしまおう - (id)init { self = [super initWithNibName:@"HogeViewControl…

cleanしてもファイルを消しても、実行するとxibファイルが残っているように見えてしまうとき

わけわからんくなるとき シミュレータのアプリのアイコンを消す。

ナビゲーションバーにタブを入れたときのナビゲーションのタイトルへのアクセス方法

self.tabBarController.navigationItem.title = @"AA";

FBのSSO

参考 http://ja-jp.facebook.com/pages/SSO/210288488998353 http://developers.facebook.com/docs/mobile/ios/build/ Webのユーザ認証とSSO (featuring facebook) — ありえるえりあ Getting Started : Facebook開発者向けドキュメントの日本語訳とTips Mobi…

JavaScriptのonloadにあたるようなものはviewDidLoad

viewDidLoad viewDidLoadにナビゲーションバーの色替えなどの処理を書こう。 initwithNibname initwithNibnameだと、まだ画面が描画されてないから 色替えとかできませんってなるときがあるみたい。

NSFetchedResultsController

NSFetchedResultsController は テーブルを表示したいときに使う(デリゲートでセルをいじる)。1個だけ欲しいときだけどかは、 [CoreData findFirst] NSFetchedResultsControllerは必要なくて、上記のコードでよい。

日付まわりの変数名の命名規則や関数名にいつも混乱する

はじめに 日付まわりの変数名や関数名にいつも混乱する。 混乱するところは、「日」と「曜日」のところであり、 「年」や「月」は「Year」や「Month」なので困ることはない。もう覚えられないので、毎回ここの自分用覚え書きを見ることにする。 JavaScript D…

CoreDataのメモ

SQLight と CoreData 内部ではSQLightでデータ持ってるけど、 RoR的発想でオブジェクトとして持ちたい。そこでSQLightの部分は隠蔽しちゃってCoreDataを使おう。 NSPredicateクラス CoreDataにSQLでいうwhereにあたるものを書きたいときには NSPredicateを使…

「日付」と「曜日」の変数名

日付 : date曜日 : day

UITabBarControllerの使い方

HooコントローラとFooコントローラを持つUITabBarへ移動 -(IBAction)HogeAndFooPressed:(id)sender { //---------------------------------------------------------------------------// // HogeViewControllerとFooViewController生成 //-----------------…

UIViewの親と子で同じalphaになっちゃう

解決法 2009-02-22

iPhoneのシミュレーターに写真(画像)を登録する方法

画像をドラッグアンドドロップ なにもアプリケーションが起動してない画面(アイコンがいっぱいならんでる画面)に 画像をドラッグアンドドロップで持っていく。 サファリが勝ってに起動 サファリが勝手に起動するので、 表示される画像を長押し。 画像を保…

UIViewにaddSubviewしないとボタンを押せない

iPhone SDK UIViewに追加したUIButtonが反応しな - BIGLOBEなんでも相談室UILabelにUIButtonをaddSubviewしてたんだけど、 そうするとボタンは見えているのに、押しても反応しない。 UIViewにaddSubviewしないと駄目だ。 そもそもUILabelは文字列を表示する…

テーブルのセクションヘッダーを画像にする

ヘッダーに画像を返せるようにする。 -(UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { }でラベルとか返してあげるとよい。 でも、これだけだと、高さが低すぎたりするので、 - (CGFloat)tableView:(UITableView…

UITextFieldとUITextViewの違い

UITextField 参考:UITextField - iPhoneアプリ開発の虎の巻 UITextView 参考: UITextView - iPhoneアプリ開発の虎の巻 iPhone UITextView 改行ボタンを完了ボタンに - 袖触れ合うも多少の縁 オデの日記@WEB系: UIView UILayout UITextViewを角丸にする 角…

インタフェースビルダーで作った画面をプログラムでいじるときの罠

インタフェースビルダーで画面を作っておきながら、 自分でプログラムで、ナビゲーションバーを書くときには、 インタフェースビルダー側でも、Top Bar設定項目に「Navigation Bar」などから ちょうどいい大きさのものを設定しておかないと、 画面全体の高さ…

iPhoneでチャックボックスを実装したいとき

- (void)tableView:(UITableView *)_tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { switch (indexPath.section) { case 0:{ UITableViewCell *cell = [_tableView cellForRowAtIndexPath:indexPath]; //セルにチェックが付いている場合はチ…

UIVIewControllerの背景画像の設定方法

UIImageView *backgroundImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Blah.png"]]; [self.view addSubview:backgroundImage]; [self.view sendSubviewToBack:backgroundImage]; [backgroundImage release]; 参考: iphone - UIViewCo…

ソフトキーボードが出現したときに入力欄を同時に押し上げる処理

キーボードに合わせて画面を上げ下げする | runLoop run]; このあたり

@property(nonatomic, retain) と @synthesize

ヘッダー部分(*.h)に @property(nonatomic, retain) 型 変数名実装部分(*.m)に @synthesize 変数名と書くと 簡単に言うと、メモリ管理をObjective-Cに任せたアクセサー( getter, setter )を作成するというような意味。

メモリリークなどを見たいとき

Xcodeのメニューからプロフィール

UITextFieldの操作

didSelectRowAtIndexPath セルがタップされた時に行う動作 参考 UITableViewの使い方その1:基本編 becomeFirstResponder UITextField を選択する。 UITextField を選択した状態になり、 カーソルが点滅し、 ソフトキーボードが表示される。 次のフィールドに…

Objective-Cでテーブル作って遷移させたいとき

簡単なテーブル遷移を作りたいとき New File から UIViewController subclassを選んで、「UITableViewController」を選ぶ。 そのとき XIBファイルがいらない場合が多いので、「with XIB for user interface」のチェックははずしておく。 なお、チーム開発な…

Objective-Cってどの順番で実行されるの

NSLogでメソッド突入時に情報を表示させる // 順番把握NSLog start // NSLog(@"\n========================= \nファイル名:%s \nメソッド名:%s \n行番号:%d \n========================= \n", __FILE__, __FUNCTION__, __LINE__ ); // 順番把握NSLog end // …

UIViewとUIViewController

UIViewを管理するのがUIViewController インタフェースビルダーでドラッグアンドドロップで持ってくるものは、 UIViewを継承している。 それを、UIViewControllerで管理する。 UIViewControllerはUIViewを持っている UIViewControllerは結局UIViewをhas aの…

テーブルのデリゲート

セクションの数を返すメソッド - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 2; // セクション数 } 行数を返すメソッド - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // …