佐崎司と愉快な仲間達ゲーム、アニメ、CG、iOS開発など思いついたことを記事にしています。管理人が3人いますので、記事にまとまりはないと思います。iPhoneアプリのレビュー依頼も受け付けています。同じviewを複数のUIViewにaddSubviewした場合の挙動IT関連2015年07月02日わか同じUIViewを複数のUIViewにaddSubviewした場合、後で追加した方に追加されるようです。前に追加したviewはremoveFromSuperviewされているのか、なくなっています。[0回]PRUIView内の全てのClass名称を表示する方法IT関連2015年07月02日わかUIViewにaddSubViewしたviewのクラス名称を全て表示させる方法です。class]));}デバッグ時に必要ですね。[0回]ポインタ間が何byte離れているか取得する方法IT関連2015年06月29日わかあるデータファイルを読み込んだ際に、あるポインタ(ptr1)とあるポインタ(ptr2)が判明していて、その間のbyte数を取得したい場合がありました。今回は複数ポインタのアドレス間が何byte離れているかを取得する方法について記載します。long)ptr1;上記記載方法で取得できます。ptr2がptr1より後である必要がありますが。[0回]NSDataのdataWithBytesNoCopyやinitWithBytesNoCopyのfreeWhenDoneの意味IT関連2015年06月29日わかNSDataのdataWithBytesNoCopyやinitWithBytesNoCopyメソッドのfreeWhenDoneについて記載します。dataWithBytesNoCopyやinitWithBytesNoCopyとは指定したデータ用メモリからNSDataを生成するメソッドです。メモリを再利用することができるので、無駄なコピーが発生せず効率的です。使用する際にはメモリ解放処理を生成したNSDataに任せるか、指定したデータ用メモリに任せるかをきちんと決めておかないとエラーになるかもしれません。引数にfreeWhenDoneが存在します。これを用いて解放処理を誰に任せるか設定できます。生成したNSDataが解放されても、元のデータ用メモリを解放しないまた、引数にfreeWhenDoneを指定しない場合、「YES」が設定されていることになります。[0回]autoresizingMaskのviewサイズは固定IT関連2015年06月28日わかautoresizingMaskを使用すると回転時のviewのサイズを自動で適切なサイズに変換してくれます。iOS7.1.1autoresizingMaskを設定しているUITableViewのframeサイズを、生成される際の回転位置から生成していました。)するとLandscape時に画面は真っ黒になりました。画面サイズを(320,568)に固定すると問題なく表示されました。画面サイズの変更はautoresizingMaskがやるので、手動で変更してはいけないいうことでしょう。[0回]renderInContextのキャッシュをすぐに解放する方法IT関連2015年06月25日わかARC環境下にてlayerのrenderInContextを使用した後、すぐにキャッシュが解放されない問題が発生しました。すると解放されましたが、連続で使用した場合、解放される前にメモリ不足で落ちました。nil;を追加するとキャッシュがすぐに解放されるようです。忘れがちになりそうなので、メモしておきます。[1回]Allocationsの見捨てられたメモリについてIT関連2015年06月24日わかinstrumentsで見捨てられたメモリについて概要を記載します。見捨てられたメモリメモリリークとは異なる。何らかの理由で確保されたが、使用されていない領域のこと。実装を中断した中途半端なコードが残っている。データを重複して保存するような箇所がある。Allocationsにてある処理を繰り返して分析する技法「世代分析」して確認する。Allocationsで検出可能つづきはこちら[0回]scrollsToTopが効かない場合の対応方法IT関連2015年06月23日わかUIScrollviewにはscrollsToTopプロパティがあり、ステータスバーをタップすると一番上までスクロールする機能があります。デフォルトはYESです。UIScrollviewは「UITableView、UIWebView、UICollectionView、UITextView」のsubviewsに含まれます。今回、scrollsToTopがYESなのにステータスバーをタップしても一番上に移動しなかったので原因と対応方法を記載します。Files内にSettings.bundleを作成すれば、OSの設定アプリに設定項目を追加できます。ここにはアプリのバージョンや初期化設定を記載するのが一般的なようです。一般的にはあまり使われていないような気もします。ローカライズすることで多言語を表示できますが、すこし迷った部分があったので記載します。つづきはこちら[0回]NSArray,NSDictionaryにオブジェクトを設定する際の注意点IT関連2015年06月16日わかNSArrayやNSDictionaryは@[]や@{}を使用して一度に複数のオブジェクトを設定できます。設定するオブジェクトがnilの場合、その後に設定したオブジェクトは設定されません。nil判定するか、addObjectやsetObjectを使って設定した方が間違いが少なくなるかもしれません。自己紹介:3人でそれぞれ気ままに書き込むblogです。iPhoneアプリのレビュー依頼は下記メールまでお願いします。Javaなど・主な投稿ジャンル-iOS開発の備忘録-アニメ(雑多いろいろ)-ゲーム(主にRPG、アドベンチャー)***著作権など各権利について***このブログは著作権の侵害を目的としたサイトではありません。ブログで掲載している動画及び画像の著作権または肖像権等は各権利所有者様に帰属致します。掲載や記事に問題がある物がありましたらお手数ですがメッセージ、コメント欄まで、お願いします。確認次第直ちに対処致します。記載している内容は個人的な見解ですので間違っている場合もあります。何かしらの損害を被っても、当サイトは一切の責任を負いませんのでご了承ください。テンプレにいさん©佐崎司と愉快な。