ma1*_*w28 8 objective-c private-methods categories class-extensions
根据在Objective-C中为类定义私有方法的最佳方法,我一直在类扩展中声明私有方法.
但是,我刚刚意识到,在Xcode 4中,如果我完全忽略私有方法的声明并且只是实现它,那么应用程序将编译并运行而不会发出警告或错误.
那么,我是否应该在类扩展中声明私有方法呢?
为什么我们必须要声明方法呢?在Java中,你没有......在Ruby中也没有.
Joe*_*Joe 10
如果在方法之前声明了调用者,则只需定义方法定义.为了保持一致性,我建议在扩展中定义您的私有方法.
-(void)somemethod
{
}
-(void)callermethod
{
//No warning because somemethod was implemented already
[self somemethod];
}
-(void)callermethod2
{
//Warning here if somemethod2 is not defined in the header or some extension
[self somemethod2];
}
-(void)somemethod2
{
}
Run Code Online (Sandbox Code Playgroud)
在v4.3之前,Joe已为Xcode正确回答了这个答案.但是,在v4.3及更高版本中,不仅不需要声明私有方法,而且声明顺序现在无关紧要.有关详情,请参阅:
Objective-C中的私有方法,在Xcode 4.3中我不再需要在我的实现文件中声明它们吗?
| 归档时间: |
|
| 查看次数: |
4030 次 |
| 最近记录: |