[iOS]アプリのアップデートをハンドリングする



アップデート時にplistのbundle versionを書き換えておけば、アプリケーションのバックグラウンド復帰時、もしくは起動時に自分のbundle versionを確認して、アップデートされているかどうか判断することができます。また、アプリケーションがアップデートされてもメモリはアプリケーションがアップロードされる前の状態を保っている(解放されない)ようです。

ちなみにitunesのAPIから自分のアプリの最新版の情報を取得して、現在のバージョンが最新版かどうか確認することができるようです。

参考:http://qiita.com/euapplication/items/8de2e49ee1d6530f16e7

[Objective-C]多重ループを抜ける



for文から脱出する時はbreakを使えばOKですね。ただ、これが多重ループとなると一番内側のループでbreakしてもさらに外側のループは周り続けてしまいます。

Objective-Cの場合は以下のような方法がいいかもしれません。(StackOverFlowより転載)

bool dobreak = false;
for ( ..; !dobreak && ..; .. ) {
   for ( ... ) {
      if (...) {
         dobreak = true;
         break;
      }
   }
}

他にも以下のような方法があり、さらに短い行数でループを抜けられるのですが推奨はされないようです。

for ( int i = 0; i <= max ; i++) {
   for ( ... ) {
      if (...) {
         i = max;
         break;
      }
   }
}

参考:http://stackoverflow.com/questions/863172/how-can-i-break-out-of-two-nested-for-loops-in-objective-c

[iOS]Autolayoutを使うとCGRectMakeでFrameを動かせなったりTransform関係が変ななる件

比率の異なる複数の画面対応にAutolayoutは便利ですが、表示要素を動かす時のトラブルの元になりがちですね。

CGRectMakeが効かない

StoryBoardに置いてある要素を、ソースコードから動的に追加すればOK!

Transform関係

いくつか解決法があるようです。

[Javascript][JQuery]ページの高さ

パララックスのページを作成していて、表示されていない部分も含めてページの高さを取得する方法を調べていた時の覚え書き。

様々な高さ

  • height

    var windowHeight = $(window).height();
    

    padding,border,marginを含まない、ブラウザで表示されている部分の高さ。

  • innerHeight

    var windowInnerHeight = $(window).innerHeight();
    

    paddingを含み、border,marginを含まない、ブラウザで表示されている部分の高さ。

  • outerHeight

    var windowOuterHeight = $(window).outerHeight();
    

    padding,borderを含み、marginを含まない、ブラウザで表示されている部分の高さ。

  • outerHeight(true)

    var windowHeight = $(window).outerHeight(true);
    

    padding,border,marginを含む、ブラウザで表示されている部分の高さ。

  • bodyのclientHeight

    var bodyHeight = document.body.clientHeight;
    

    body要素の高さ。つまりブラウザで表示されていない部分を含むページ全体の高さです。

参考:http://www.texelate.co.uk/blog/jquery-whats-the-difference-between-height-innerheight-and-outerheight/