0

あるクラスから別のクラスのメソッドを呼び出そうとしています。

    @interface example : NSObject 
         -(void)displayString:(NSString*)str;
    @end

    @implementation example
         -(void)displayString:(NSString*)str
         {
             NSLog(@"The string:%@",str);
         }
    @end
   // callExample.h
   @interface callExample:UIViewController
        @property (nonatomic, strong) example *ex;
   @end

//このボタンが押されたときに関数displayStringが呼び出されます。

   // callExample.m
   @implementation callExample

       - (IBAction)btnPressed:(id)btn
       {
          [self.ex displayString:@"sampleTEXT"];
       }
   @end

そのため、をデバッグする[self.ex displayString:@"sampleTEXT"];と、このコード行はサンプル クラスの関数を呼び出しません。私はすべてを正しくやっていると思います。私は何かが欠けています。どこが間違っていますか?

どんな助けでも大歓迎です。

感謝

4

1 に答える 1

0

まずdisplayString、クラス メソッドではなく、インスタンス メソッドです。次に、関連してexample、メソッドを呼び出すクラスのインスタンスを作成しません。

viewDidLoad今のところクラスのメソッドに入れましょうcallExample(インスタンスがすでに存在するかどうかはわかりません)。何かのようなもの:

self.ex = [[example alloc] init];

また、命名規則を確認してください:こちら.

于 2013-08-11T08:33:48.937 に答える