あたらしものずきっ!

試してみたものとか、遊んでみたものを色々記してみます。

Objective-C

iPhone SDKにおけるautoreleaseの是非

Interface Builderを捨てて完全にXcodeだけで作成するようになって、メモリ操作に気を使うケースが結構多くなってきたので、気をつけてることを書いてみることにする。特に知識がなかったころは馬鹿正直にautoreleaseを使って放置してたんだけど、main.mに記…

Clangでの解析結果

Clangでリークを起こしてないか調べてみたら、修正点が出てきた。NSAutoreleasePoolを認識されてないのかその辺りでいくつも。仕方ないからautoreleaseに書き換え。それ以外では無事通過。terminalからxcodebuildすると色々とログ判りやすいけど、オプション…

addObserverでのデータ同期取得

データの更新タイミングを取得する方法はないものかと探していたら、addObserverがそれだった。使い方は、更新の監視をしたいオブジェクトに対してaddObserver:forKeyPath:options:contextを張る。キー値を所有するオブジェクト、つまりNSDictionaryやNSUser…

ネット上のiPhone用Objective-Cソースを探す上で注意すること

開発してる人ならとっくに理解してることだとは思うけど。 ソースコードをそのままコピペしても、大抵は動かない xcode上のソースを貼付けていないのか、括弧が省略されてるケースもよくある 記述者の理解の範囲によっては無駄な処理を書いてることもある 自…

動的に生成したオブジェクトが原因でのメモリ上でのエラー

動的に生成されるオブジェクトがらみで、どうみてもメモリ上の参照が原因のエラーが出た。現状未解決。IBActionに指定していたsenderを直接releaseしたのが原因だとは思ったけど、そうなると想定している挙動がこなせない。 - (IBAction)makeButton:(UIButto…

UIButton周りいじり

UIButton *bubble = [UIButton buttonWithType:UIButtonTypeCustom]; [bubble setImage:[UIImage imageNamed:@"full_1.png"] forState:UIControlStateNormal]; bubble.frame = CGRectMake(5, 5, 45, 45); [self.view addSubview:bubble]; メソッドやプロパテ…

メモリ操作に慣れないうちのUITableViewCell弄りはタブーにちかい

Wassr用のクライアントを作ろうとしてUITableViewCell周りを延々弄ってたけど、最初のうちはネットワーク+UITableViewの組み合わせには触れるもんじゃないと思った。UITableViewCellのレンダリングはスクロールされるたびに呼び出されているから、相当手間…

組み方がだんだんわかってきた

MSの統合開発環境に慣れきっていたお陰で、相当四苦八苦させられてた。常にオブジェクト同士のつながりを頭の中に叩き込んでおかないとすぐに不味い状態になるから、ある意味スパゲッティ化を防いでくれて助かってはいる。ModelからControllerそしてViewとい…

iPhone SDKの読み解き

下手に書くとNDAに引っかかりそうで、iPhone SDKを弄ってる時のことがかけないのはなかなか辛い。早くアプリを完成させてリリースしたいけど、delegateがうまくつかめてない…。ADCのドキュメントを一通り読んでリファレンスを参照しながら作っているけど、こ…

ポインタの整理

NSInteger x; //変数定義 NSInteger *y; //ポインタ変数定義 x = 1; //xに1を代入 y = &x; //yにxのアドレスを代入 NSLog(@"%@",*y); // yにおさめられたアドレス先の値を出力 : 1 NSInteger *z = &x;//ポインタ変数定義、および代入を一度に行う場合 (void)…