【问题标题】:Xcode warning: "May not respond to"Xcode 警告:“可能无法响应”
【发布时间】:2010-08-08 05:08:57
【问题描述】:

我有一些方法可以在我的类实现中初始化不同的东西。但是,当我使用 [self 'methodName'] 调用这些方法时,Xcode 编译器会给出我无法摆脱的警告。

'className' 可能不会响应 'methodName'

例如,

警告:'NextJackpotViewController' 可能不会响应 -initActivityIndi​​cator'

- (void)viewDidLoad {
    [self initActivityIndicator];
    [self addRefreshButton];
    [self updateUI];

    [super viewDidLoad];
}

有什么办法可以摆脱这种情况?

【问题讨论】:

    标签: objective-c xcode iphone-sdk-3.0


    【解决方案1】:

    有 3 种方法可以做到这一点。第一个是像马特说的那样把方法声明放在你的头文件中。

    第二种是通过创建私有方法,您可以通过将以下代码放在控制器顶部来做到这一点

    @interface NextJackportViewController (PrivateMethods)
    - (void)initActivityIndi​​cator;
    @end

    第三种方法是在调用之前定义方法。

    【讨论】:

    • 请注意PrivateMethods这个词不是关键字或任何特殊的东西,你可以很容易地用OtherStuff替换它(不是说你应该)
    【解决方案2】:

    确保方法在您的头文件中定义。在这种情况下:

    // NextJackpotViewController.h 
    - (void)initActivityIndicator;
    

    【讨论】:

    • 或者您可以确保它是在同一文件中调用它的方法之前定义的(在您的 .m 文件中较高)。
    猜你喜欢
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多