iOS開発で遭遇した謎のエラーたち

メモをあげておく。
基本をちゃんと理解してれば謎ではないんでしょうが。

unrecognized selector sent to instance hogehogeっつってるけど
  • 定義されてないメソッド、またはinterfaceで公開されてないメソッドを使った
  • 対象のオブジェクトを使った覚えがない場合はポインタが意図してないアドレスを見てる

後者はメモリ周りで以下のように適当にやってると起こる。

  • まだ使われているオブジェクトを解放してるかもしれない releaseしすぎ
  • またはautorelease対象を解放してるかもしれない releaseしすぎ

プロパティへの代入はセッターでretainされてるかされてないかちゃんと意識すること。

error: expected specifier-qualifier-list before ‘HogeController’
  • クラスが見つからないようだ
  • フレームワークとか他のクラスのヘッダファイルとかインポートし忘れてないか確認
  • 忘れてないのにアレだったら@classを使うとなんとかなるかもしれない

@classが必要なケースはいろいろとインポートしていて順序の前後関係がごちゃごちゃしている時?
よくわからず。

ユニバーサルプロジェクトがiPhoneで動いてくれません
  • 「データフォーマッタが一時的に使用できなくなっています。」って言われてもなんのことだか
  • UIKitをWeak LinkingにするとかNSClassFromStringを使うとかして解決
  • 参考:http://useyourloaf.com/blog/2010/6/21/symbol-not-found-errors-in-universal-apps.html
  • 参考:http://d.hatena.ne.jp/KishikawaKatsumi/20100625/1277476249
何も言わずに止まりやがる
  • コントローラのViewを作り忘れてるのにそれにaddSubviewとかいけませんよね