私有方法实施

时间:2012-03-10 17:38:09

标签: objective-c implementation private-methods objective-c-category

这个问题主要是好奇心而不是其他任何问题。但是我目前将所有私有方法放在我的@implementation中,这样我就可以避免在我的.m文件中为这些方法创建一个单独的类别。只要私有方法在任何其他方法调用之前实现,一切都很好。我可以清楚地记得Xcode警告我,如果我在实现之前尝试调用一个非声明的方法....至少,我认为我可以。现在我开始怀疑我的理智是什么原因Xcode现在似乎非常高兴允许我调用任何未声明的方法,只要它的实现位于@implementation内的任何地方,即使调用在实施

这是最近的更改,还是我从一些古老的'C'限制中构建了我的方法顺序?

现在Xcode的行为方式似乎没有必要为私有方法创建任何类别的类别。就个人而言,我觉得这很不错。

编辑:我正在使用Xcode 4.3.1

1 个答案:

答案 0 :(得分:1)

显然你是对的。 xcode 4.2.1发出警告而4.3.1没有发出警告。

@implementation MyClass


- (void) callMyPrivateMethod {
    [self myPrivateMethod];   //<--- xcode 4.2.1 issues a warning here. 
    return;
}

- (void) myPrivateMethod {
    return; 
}

@end

(我知道没有必要'回归',但我对这方面有点老了。)

但是,两个版本都会正确构建它,除非你在方法名称中输入了拼写错误,否则它将会运行。

相关问题