UIWindow→UINavigationContoller→ルートのUIViewContoller→さらに子供の・・・
っていう構造はよくあると思うんですね。
で、子供のUIViewControllerが色々変わるアプリなので、、ルートのUIViewControllerのプロパティにretainして値渡しをすればいいかと思ってコードを書いていたら、時々落ちるんですね。
UINavigationControllerがルートViewをretainしている限り大丈夫じゃないかなーとか思ってたんだけど、落ちるのは事実のようで。
画面間で値渡しとかassignやautoreleaseならいいけど、retainしているのを参照するのはリスキーなのかな。
なので、最近はその画面内でしか使わないプロパティのみを利用し、画面をまたいでシェアするオブジェクトは全部sqliteで保存することにした・・・。ベタだけど、確実な方法。
Leaksをシュミレーターでやろうとして実行できなくて上記エラーが出た。
実機をiTunesから取り外して、ケーブルから抜いたらエラーでなくなった。そういうもんらしい。
実機でもInstrumentsはできるし、色々使える機能が増える。ココ参照。
Silas2012/06/01 16:23You've got it in one. Couldn't have put it bteetr.
echhure2012/06/01 22:5815qoZe <a href="http://ahtincsbvgee.com/">ahtincsbvgee</a>
tbvocmyw2012/06/02 04:13BTNYgd , [url=http://sswlttdpprju.com/]sswlttdpprju[/url], [link=http://bhlbnrysklao.com/]bhlbnrysklao[/link], http://eafkcmewieps.com/
前どっかで見つけてすぐ忘れたのでメモ。
Just go to the inspector, go to the first panel (or press command-1) and then change the fields marked Status Bar, Top Bar, and Bottom Bar to None under the section called "Simulated User Interface Elements". You may need to click the little triangle to make them visible.
iphone - Can't resize UIView in IB - Stack Overflow
IBのStatus Bar, Top Bar, Bottom Barあたりがunspecifiedになってないと変えられない(その分の領域をあらかじめ確保するため)みたいです。
実機転送時に「the program being debugged is not being run」というエラーが出たらに詳しく書いてありました。
既に同じAPP IDのアプリが入っている場合は起動しないんだって。僕も起動しなかった。
UIScrollView→UIImageView→UITableViewという階層。
tableviewをaddsubviewしているだけなんですが、指でページめくりをするとその下のscrollviewのイベントが走ってページ送りをしてしまい、かなり愉快な事になっている。
useinteractionEnabledは親に指定すると子供のViewも全て操作を受け付けなくなってしまうため、tableviewの処理も走らなくなってしまう。
子供に子供を加えるのではなく、一番親にしなくてはならないのだろうか・・・。
多段View階層でModalっぽいことはできないのかなぁ。
scrollEnabledを切ればいいことに気づいた。これでいけそうです。