0

私は最近、iOS アプリの開発を始めようとしましたが、懐中電灯アプリを作りたかったので、いくつかのチュートリアルに従っていました。ただし、チュートリアルでは、ストーリーボードを使用せずにアプリを実行します。ストーリーボードで同じことをしようとしたとき、できませんでした。だから、ヘッダー/デリゲートクラスからロジックをコピーしただけなら、機能が転送されるはずだと思いました! しかし、ストーリーボード バージョンを実行しようとすると、プログラムが一時停止/クラッシュし、「スレッド 1: SIGABRT」という小さなバブルでメイン クラスが表示されます。

ストーリーボードを使用してプロジェクトを実行すると、基本的なロジックが変更される理由はありますか? 意味がないようです

4

1 に答える 1

0

Apple のUIViewControllerクラス リファレンスから:

アプリでストーリーボードを使用してビュー コントローラーとそれに関連付けられたビューを定義する場合、アプリはそのクラスのオブジェクトを直接初期化することはありません。代わりに、View Controller はストーリーボードによってインスタンス化されます。つまり、セグエがトリガーされたときに iOS によって自動的にインスタンス化されるか、アプリがストーリーボード オブジェクトの instantiateViewControllerWithIdentifier: メソッドを呼び出したときにプログラムによってインスタンス化されます。ストーリーボードからビュー コントローラーをインスタンス化する場合、iOS は代わりに initWithCoder: メソッドを呼び出して新しいビュー コントローラーを初期化します。iOS は、nibName プロパティを、ストーリーボード内に保存されている nib ファイルに自動的に設定します。

于 2013-09-23T15:33:26.077 に答える