永远不会调用来自另一个类的类方法

时间:2013-08-11 08:29:57

标签: objective-c class methods xcode4.5 user-defined-functions

我正在尝试从另一个类中的一个类调用方法。

    @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"];时,这行代码不会调用示例类中的函数。我想我正在做的一切正确。我错过了什么。我哪里错了?

任何帮助都将受到高度赞赏。

感谢

1 个答案:

答案 0 :(得分:0)

首先,displayString不是类方法,它是一个实例方法。其次,相关的是,你没有创建example类的实例来调用方法。

现在让我们将它放在viewDidLoad类的callExample方法中(你不说实例是否已存在)。类似的东西:

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

另外,请检查命名约定:here