2012-01-01から1年間の記事一覧

@property(nonatomic, retain)したときに .(ドット)による代入を使うかどうかについて

はじめに @property(nonatomic, retain) を使った場合、問答無用でretain(+1)されるのだ。 おぉ 僕らはどうしたらよいのだろう。 この問題に関して、場合わけを行い、どんなプログラムの書き方(作法)があるのかを考える。 前提条件 deallocでreleaseしてい…

@property(nonatomic, retain)をしたときのメモリ管理の動き

はじめに @property(nonatomic, retain) したときのメモリ管理の動きが気になりここに示す。 前提:@property(nonatomic, retain) のセッターの擬似ソース -(void) setName:(TYPE)obj{ if(name != obj ){ [name release]; name = [obj retain]; } } 参考 詳…

iPhoneのディレクトリ

はじめに Bundleの領域は書き込み負荷だから、DocumentDirectory使うといいよっていうお話 DocumentDirectoryのパスってどうやって取得するの? NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); …

プリプロセッサの文法 (マクロの文法)

## トークンの結合 #define HOGE(a) fo##a NSString *foo = @"Hello World"; NSLog(HOGE(o)); 結果: Hello World HOGE(o)のところがfooになるので、fooという変数をNSLogに与えたNSLog(foo);と書いたことと同じになり、 Hello Worldが出力される。 ... 可変…

NSBundle

これでパスを指定してファイルを読み込めたりするのだが、 パスを指定するんだからXcodeがファイルを認識してなくてもよいだろうと思ったら、 他のクラス同様、Xcodeから認識できないとnullになってしまってうまくいかない。 NSBundle *bundle = [NSBundle m…

カスタムセルの作り方

xibファイルを作る New File > User Interface > Empty で空のxibファイルを作る。 Table View Cellを配置 xibに Table View Cell をドラッグアンドドロップで配置 セルに要素を配置 セルにImage Viewなどをドラッグアンドドロップで配置 File's Ownerを変更…

アプリ内課金 参考ページ

設定 KRAY - みんなで考え、作り、価値を生み出す http://blog.livedoor.jp/hinayukaringo/archives/3091936.html In App Purchase の開発を行う為の環境構築 - It_lives_vainlyの日記 http://www.asahi-net.or.jp/~YY8A-IMI/20040913/ipad/appupload.htm 実…

Xcodeでプロジェクトを作るときに勝手に .git が作られるが作ってほしくないとき

チェックを外そう どこのフォルダにプロジェクトを作るか聞いてくるところで 以下の部分にチェックが入ってるので、こいつを外せばよい。

freeコマンド

重たかったとき total used free shared buffers cached Mem: 510540 485712 24828 0 150068 229256 -/+ buffers/cache: 106388 404152 Swap: 2048276 84 2048192 再起動したとき total used free shared buffers cached Mem: 510540 263288 247252 0 93828 …

Android開発環境構築

Windowsの開発環境構築方法 Android Windows Vista/7にAndroid開発環境を構築する | TechBooster SDKダウンロード先 Download Android Studio and SDK tools SDKインストール Download Android Studio and SDK tools Hello World Build your first app | And…

NSDateとNSStringの変換

NSStringからNSDateへ NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc]init]autorelease]; [dbDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString *str = [dateFormatter stringFromDate:NSDate型]; NSDateからNSStringへ NSDateF…

macで画像を半分にしたいとき

簡単にやるなら、 ビューアー的なのでもできるし、sipsコマンドでもできる。

Psでビットマップを作ってコピーしたいとき

レイヤーを複製。 空のレイヤーも作成。上記を結合すると、ビットマップになるので、切り抜いてコピペ。

svnのブランチ

ブランチの作成 $ svn mkdir http://お使いのサーバ/branches/開発種類/ $ svn mkdir http://お使いのサーバ/branches/開発種類/プロジェクト名 $ svn copy http://お使いのサーバ/trunk/開発種類/プロジェクト名 http://お使いのサーバ/branches/開発種類/…

svnのタグの付け方

コマンド $ svn mkdir http://お使いのサーバ/tags/開発種類/ $ svn mkdir http://お使いのサーバ/tags/開発種類/プロジェクト名 $ svn copy http://お使いのサーバ/trunk/開発種類/プロジェクト名 http://お使いのサーバ/tags/開発種類/プロジェクト名/Rele…

UIWebViewのエラー処理

参考 http://www.deftrash.com/blog/archives/2010/09/http_status_uiwebview.html

tag付けしたUIImageViewにアクセスする方法

[self.view viewWithTag:5] こんな感じ。 親からアクセス。 とうかViewを内包しているviewからアクセス。 日本語でなんて表現したらよいんだろう。

Objective-Cのintを文字列にする方法

[NSString stringWithFormat:@"%d",i];これかなぁ 参考 int型→NSString型 - 3ヶ月でiPhoneアプリを1本作る日記 - iPhoneアプリ開発グループ

Objective-Cの文字列連結

NSStringのstringWithFormatを使う NSStringのstringByAppendingString があるように思える

文字列からNSURLを作成するメソッドをNSStringに追加

@implementation NSString(URL) -(NSURL *) toNSURL { return [NSURL URLWithString:self]; } @end からの NSURL *url = [@"http://www.glpgs.com/" toNSURL]; NSLog(@"%@", url);というお遊び。

UDIDとUUIDの違い

UDID 端末固定の値。 macアドレス的イメージ。 UUID 一意になる可能性がむちゃんこ高い値を返す関数的なのから得れる値

safariを起動させる方法

safariを起動させる NSURL *url = [NSURL URLWithString:@"http://www.yahoo.co.jp"]; [[UIApplication sharedApplication] openURL:url]; ミスった例 UIApplication *app = [[UIApplication alloc] init]; とすると落ちた。 sharedApplicationで取得するみ…

NSUserDefaults

やったこと NSUserDefaultsを使ってみる。 AppDelegateでデータ登録。 ViewControllerでNextViewControllerに画面遷移。 NextViewControllerでデータ表示して別のデータにすげ替える。 NextNextViewControllerですげ替えたデータを表示できることを確認。 Ap…

Objective-Cで文字列操作

前置き Objective-Cってなんか慣れないと使いにくいですよね。 データ構造作るのしかり、文字列操作しかり。 httpでGETでアクセスするときのクエリーを作るのとかってサクッとできないものだろうか。やってみよう。 ソース NSArray *data = [NSArray arrayWi…

Objective-Cのゲッター、セッター (@propery, @synthesize)

前置き どの言語でも、ゲッターとセッターを書くのって、 かったるいですよね。そんなに情報隠蔽したいですかね。 ゲッター、セッターだけで何行書くんすかね。そんな世界でいいんですかね。 ということで、@propertyと@synthesizeの出番です。 前提知識を補…

Objective-C 自前でデリゲートを作る

自前で作ったクラスでデリゲートさせる 既存のクラスにデリゲートを呼んでもらったことあるけど、 自分でも呼んでみたーい。 やってみよう 参考:protocolと関連させたクラスの定義方法 - すぎゃーんメモ 5回メソッドが呼ばれるとコールバックしてあげるよ d…

Objective-Cの言語仕様(プロトコル編)

プロトコル Javaでいうinterfaceのこと。 メソッドの宣言を定義した集合だけの存在。 一応、静的型付けっぽい言語なので、「プロトコル、要るよねぇ〜」ってことなんでしょうか。 どっちかというと最後に記述するデリゲートの実装漏れを防ぐ役割の方が使用頻…

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];