【问题标题】:Why does xcode sometimes find instance methods not declared in header files?为什么 xcode 有时会找到未在头文件中声明的实例方法?
【发布时间】:2012-01-19 18:14:42
【问题描述】:

当然,在头文件中声明所有方法是最佳实践,所以当 xcode 警告我可能找不到实例方法时,我很感激。但是,在某些情况下,我没有在标头中声明方法,也没有收到警告。这些绝对不是任何委托方法,那么还有哪些情况会导致这种行为呢?

【问题讨论】:

    标签: iphone objective-c xcode


    【解决方案1】:

    该方法可能在使用时已经在实现中定义。即,如果正在使用的方法高于它在实现文件中使用的位置,则编译器知道方法签名,所以一切正常。

    【讨论】:

      【解决方案2】:

      如果您的方法没有在头文件(或类扩展)中声明,但在另一个引用它的方法之前出现,那么您将不会收到错误。

      【讨论】:

        【解决方案3】:

        如果你在你的方法体定义下调用你的方法,它会起作用,例如:

        -(void)foo { bla }
        [self foo];
        

        如果你也以相反的方式崩溃(如果方法不在你的头文件中):

        [self foo];
        -(void)foo { bla }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-03
          • 1970-01-01
          相关资源
          最近更新 更多