Twitter Updates for 2013-03-17
- この例外ではまりました。> '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "XXXViewController" nib but the view outlet was not set.' 18:43:08, 2013-03-17
- 普通であればStoryBoardでUIを作るでしょうけれど、基本的に使わないのでなぜnib(xib)ファイル関連で落ちるのか理解不可能でしたが、原因はXcodeのかなり変な仕様のせいだと判断しました。 18:44:51, 2013-03-17
- UIファイル(xib)を新規作成で作成した場合、この名前はずっと付きまとい続け、UIファイル(xib)の名前を変えても削除しても変わりません。そして、同名のViewControllerを作成して表示すると落ちるという話です。シュミレータでは問題ないのですが、実機では落ちました。 18:47:06, 2013-03-17
- 勿論、普通にバインドして関連付けを行えば良いのでしょうけれど、見た目の検証用にUIファイル(xib)を作成しただけなので、実際には使いませんし。 18:48:44, 2013-03-17
- 何よりも具体的な名前にして作成してしまうとずっと付きまとわれるという仕様は何とかならないのでしょうかね。結局ViewController自体の名前を変更する事で回避しました。 18:49:49, 2013-03-17
- 同じ例外(NSInternalInconsistencyException)の原因は他にも様々ある様ですが、取り敢えず、UIViewControllerとxibファイルの名前がぶつかると勝手にoutlet接続していないとして実機での実行中にだけ落としてくれます。 18:53:30, 2013-03-17
- これからは見た目の検証は別の検証用プロジェクトを作成して使用した方が安全かな。UIViewController@initWithNibName:bundle:の引数にnil指定をしているのに同名だと落ちますし。 19:00:08, 2013-03-17
- AutoLayoutはコードで指定した方がわかりやすいですし。AAでの指定方法は使用していませんが(笑) 19:01:37, 2013-03-17
- @sugike でも林檎PCはタッチパネル機種が無いですよ(笑) in reply to sugike 19:04:21, 2013-03-17
- @sugike 今までの流れを見ていると、新OS端末搭載の初代機種は見送った方が良いというのがありますね。WindowsもAndroidも。まあ、Androidの場合は端末メーカーの初代端末は確実に見送った方が良いというのはありますね(笑) 新OSでも同様なのでしょうね(笑) in reply to sugike 19:09:31, 2013-03-17
- UIViewControllerとxibファイルの名前がぶつかると勝手にoutlet接続していないとして実機での実行中に落ちる問題を正常に戻す方法が見つかりました! 20:38:44, 2013-03-17
- ここからは自己責任で行ってください。 > 実機から該当アプリを削除し、Xcodeを終了させた後に「/Users/UserName/Library/Developer/Xcode/DerivedData/」下にある該当プロジェクト一式を削除します。これで直ると思います。 20:40:40, 2013-03-17
- @sugike 先日、自宅ではPC無しでも良い、という人が増えているという記事がありましたが、タブレットとスマホだけで十分という事の様です。多くの人が自宅でPCを使う理由はWeb等のネット接続でしょうからiPad等でも十分なのかも。しかしRT機は止めた方が…(笑) in reply to sugike 20:44:34, 2013-03-17
- AutoLayoutはUIView@setFrameメソッドにZero値しか渡されて来ないとか色々今までと違うのですよね。 20:48:56, 2013-03-17
- そして色々変な表示になる事がたまにありますね(笑) 多くの場合、指定ミスでアプリが落ちますが(苦) 20:49:46, 2013-03-17
0
17
3月