相关疑难解决方法(0)

Objective-C:我应该声明私有方法吗?

根据在Objective-C中为类定义私有方法的最佳方法,我一直在类扩展中声明私有方法.

但是,我刚刚意识到,在Xcode 4中,如果我完全忽略私有方法的声明并且只是实现它,那么应用程序将编译并运行而不会发出警告或错误.

那么,我是否应该在类扩展中声明私有方法呢?

为什么我们必须要声明方法呢?在Java中,你没有......在Ruby中也没有.

objective-c private-methods categories class-extensions

8
推荐指数
2
解决办法
4030
查看次数

从什么时候开始Xcode不再需要前向方法声明?为什么?

我注意到Xcode(或更确切地说是Apple LLVM编译器?)不再需要正向方法声明.换句话说,以下代码构建时没有警告:

@implementation Foo

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

-(void) bar {}

@end
Run Code Online (Sandbox Code Playgroud)

这曾经发出警告-fooFoo可能没有回应-bar,对吧?编译器现在更聪明还是其他的东西?我正在使用Xcode 4.3.1和Apple LLVM编译器3.1.

xcode llvm

6
推荐指数
1
解决办法
691
查看次数

在Xcode 4.3中,我是否可以像以前一样要求正向方法声明

在Xcode 4.3之前,如果您想在声明其实现之前使用方法,则需要转发声明方法(与C函数原型一样).这通常在类继续(AKA类扩展,私有类别)中完成.这个问题有一个很好的例子:Objective-C中的私有方法,在Xcode 4.3中我不再需要在我的实现文件中声明它们了吗?.

从4.3开始,不再需要这个; 干燥者欢欣鼓舞.

但这种魔法可以关闭,回到4.3之前的行为吗?

xcode objective-c forward-declaration xcode4.3

6
推荐指数
1
解决办法
1114
查看次数

在 Objective-C 中,如何对除子类之外的所有人隐藏方法(而不是属性)

我正在寻找类似于@protectedfor 方法的东西。@protected似乎只适用于@properties(setter 和 getter)。有没有办法让常规方法也获得类似的行为?

objective-c

2
推荐指数
1
解决办法
1818
查看次数