こんにちは、事前に助けてくれてありがとう。検索してみましたが、やろうとしていることは一般的ではないようです。私の質問について話している別の投稿がある場合は、リンクしてください。
まず、2 つのクラスがあります。名前をシンプルにするために、一方を Controller と呼び、もう一方を AppDelegate と呼びます。コントローラーは静的ライブラリーです。AppDelegate は、以下を使用してコントローラーのインスタンスを作成します。
*注意: .h ファイルで _controller を既に宣言しています。
_controller = [[Controller alloc] initWithAppDelegate:self];
私がやりたいことは、コントローラーから AppDelegate クラスのメソッドを呼び出すことです。controller.h クラスの関連コードは次のとおりです。
@interface
{
id _appDelegate;
}
-(id) initWithAppDelegate:(id)appDelegate;
そしてcontroller.mで
-(void)someMethodName
{
[_appDelegate method];
}
私が抱えている問題は、メソッドを呼び出すことができないということです。他にもいくつかのメソッドを呼び出すことができますが、AppDelegate 内で作成したカスタム メソッドは呼び出すことができません。ID を AppDelegate に置き換えようとしましたが、AppDelegate をインポートできないようです。インポートできない理由をある程度理解しています。
この方法でプロジェクトを作成する理由は、さまざまなデバイス用に設計された UI を持つアプリケーションでコントローラー コードを再利用したいからです。不明な点がある場合、またはさらに詳しい情報が必要な場合は、お気軽にお問い合わせください。
ありがとう。