2011-10-27 6 views
25

私のappdelegate.mには、applicationDidFinishLaunchingは呼び出されていません。 これは、私の "アプリケーション"の代理人が正しく接続されていないためですが、接続方法はわかりません。私がしていることは、XIBファイルからアプリケーションを右クリックし、デリゲートアウトレットをどこかにドラッグすることです...しかし、どこを知らないのですか? 助けていただければ幸いです。 ありがとう!applicationDidFinishLaunchingが呼び出されていません

答えて

44

MainMenu.xibには、AppDelegateクラスのインスタンスがあることを確認してください。 1つを作成するには、プレーンオブジェクト(青いキューブ)をリストにドラッグし、そのクラス名をAppDelegate(または、アプリケーションのクラス名が何であれ)に設定します。

また、MainMenu.xibに接続するには、アプリケーションオブジェクトからAppDelegateインスタンス(青色のキューブ)に接続をドラッグし、デリゲートコンセントに接続します。

完了。

はあなたの「AppDelegate.swift」でかいま見を取り、該当する行は次のようになりますことを確認してください:対照的な

func applicationDidFinishLaunching(_ aNotification: Notification) { 

+5

あなたは私に多くの時間を保存しました、ありがとう!それに加えて私はそれをFile Ownerにリンクしなければならなかった。 –

+1

概念的な飛躍の羽ばたきは、ペン先/ xibが凍結乾燥オブジェクトの*インスタンス*の集合であることを理解することです。実行中のアプリケーションには、通常、NSAppインスタンスやそのデリゲートのような主要なアーキテクチャ要素のそれぞれが1つしかありません。ドキュメントコントローラ/ビューアセンブリは明白な例外ですが、別の「ドキュメント」プロトタイプxibには、docインスタンス、メインウィンドウなどを表す1つのオブジェクトが含まれています。ただし、モデルのプリベーク済みインスタンスは含まれませんこれは可変であるため、xib(Personのように)内のオブジェクトです(通常はPersonはありません)。主な概念。 :-) –

+1

ありがとう!私はすでにログインヘルパーが突然動いていない理由を理解しようとしていました。私は誤って削除し、後で新しいMainMenu.xibを作成しました – Tibidabo

2

は、ここでは、スウィフト3に更新した場合にはしようとする何かこれまで:

私はちょうどアプリケーションを更新したが、確認するつもりはなかった。その結果、私のアプリは公開されましたが、関連するメソッドは呼び出されませんでした。明らかに、通知オブジェクトを持っている他の機能をチェックする必要があります。

+0

ありがとう、これはスウィフト2アプリから来て、私の問題を解決したものでした。 –

関連する問題