UIActionSheetはiPadではポップオーバーになる。
また、showFromBarButtonItemを利用することで、アクションボタンから吹き出しで表示させられるが、
IPhoneではアクションシートの飛び出し方がおかしくなるので、デバイスを識別して、
iPadならshowFromBarButtonItem
iPhoneならShowInViewを呼ぶようにする必要がある。
その場合、[[UIDevice currentDevice: userInterfaceIdiom]で識別すればよい。
iOSではファイル名の拡張子の大文字小文字を区別するが、
OSX(MacOS)では区別しない。
そのため、Xcode上で大文字小文字を間違えたプログラムを実行したときに、
シミュレータは問題なく動作してしまうので注意する必要がある。
OSX(MacOS)では区別しない。
そのため、Xcode上で大文字小文字を間違えたプログラムを実行したときに、
シミュレータは問題なく動作してしまうので注意する必要がある。
iOS6以降ではメモリ不足が生じたときに、
viewが破棄されることが無くなった。
以前はviewが破棄されるが再描画の際にinitが呼ばれないところで
問題が発生するケースがあった。
同時に、viewDidUnloadが非推奨になっている。
いまのところ、このメソッドが呼ばれることが無くなったらしい。
initとviewDidLoadの使い分けにも影響しそうだ。
viewが破棄されることが無くなった。
以前はviewが破棄されるが再描画の際にinitが呼ばれないところで
問題が発生するケースがあった。
同時に、viewDidUnloadが非推奨になっている。
いまのところ、このメソッドが呼ばれることが無くなったらしい。
initとviewDidLoadの使い分けにも影響しそうだ。
Objective-CとiOS関連でつまづいたところや覚えておきたいところを。
・initとviewDidLoadの使い分け
initはビュー生成時に一度だけ呼び出される。初期化用メソッド。
viewDidLoadはビューを再表示するたびに呼び出される。
initにおいて[self view]に対する操作を行うと、メモリ不足などによりビューが破棄された場合に
再表示のときにその操作が行われなくなるので、viewDidLoadで行うべき。
・initとviewDidLoadの使い分け
initはビュー生成時に一度だけ呼び出される。初期化用メソッド。
viewDidLoadはビューを再表示するたびに呼び出される。
initにおいて[self view]に対する操作を行うと、メモリ不足などによりビューが破棄された場合に
再表示のときにその操作が行われなくなるので、viewDidLoadで行うべき。