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 回答