2016-04-14 11 views
0

AppDelegate.mで別のクラスのメソッドを呼び出そうとしています。私は、次のことをやった:MyClass.hでAppDelegateからの呼び出しメソッドがインスタンスエラーに送信された

  1. 、私は、AppDelegate.mで-void testMethod
  2. を持って、私はAppDelegate.hで
    #import "MyClass.h"
    MyClass * myClassInstance = [[MyClass alloc] init];
    [myClassInstance testMethod]
  3. を持って、私が持っています輸入品も
    #import "MyClass.h"

私はこの質問に対する答えが示唆されたすべてを行ったと思います:calling a method inside someClass from AppDelegate Objective-C IOS

しかし、私はまだ "インスタンスに送られたセレクタがありません"というエラーが表示されていますか?

何が欠けていますか?

ありがとうございます。

TEST.H

#import <Foundation/Foundation.h> 

@interface Test : NSObject 

-(void)testMethod; 

@end 

ファイル:あなたのようなものが使用をインスタンス化しているクラスの場合

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    // Override point for customization after application launch.  
    Test* testObject = [[Test alloc] init]; 
    [testObject testMethod]; 
    return YES; 
} 

+1

質問を完全で正確なエラーメッセージで更新してください。あなたはメッセージのインポート部分を除外しました。エラーの原因となったコードの正確な行で質問を更新してください。 – rmaddy

+0

voidの周りにかっこを追加することを忘れましたか?たとえば、 - (void)testMethod –

+0

@Ke Chengでは、このメソッドをmファイルに実装する必要があります。このチュートリアルを確認してください。http://roadfiresoftware.com/2014/06/how-to-implement-methods-in-objective-c/ – bazyl87

答えて

-1

は次のようにいくつかのappDelegateのライフサイクルメソッドでメソッド呼び出しを置くようにしてくださいTest.mファイル

#import "Test.h" 

@implementation Test 


-(void)testMethod{ 
    NSLog(@"test"); 
} 

@end 

この場合、アプリケーションが初期化するとログメッセージがコンソールに表示されます。

関連する問題