Objective-C中的私有方法,在Xcode 4.3中我不再需要在我的实现文件中声明它们?

Objective-C中的私有方法,在Xcode 4.3中我不再需要在我的实现文件中声明它们?,第1张

概述我头上有很多问号。 我没有得到的是在xcode 4.3之前,我需要在我的实现文件声明前向声明(对于私有方法)。 像我的.m文件: // deleting this with xcode 4.3 the below code still does work // in previous versions i had to put this because otherwise the compil 我头上有很多问号。
我没有得到的是在xcode 4.3之前,我需要在我的实现文件中声明前向声明(对于私有方法)。

像我的.m文件:

// deleting this with xcode 4.3 the below code still does work // in prevIoUs versions i had to put this because otherwise the compiler can't find methodFirst@interface DetailVIEwController ()- (voID)methodFirst;- (voID)methodSecond;@end@implementation DetailVIEwController- (voID) methodSecond{   // if i delete the forward declaration Now adays i dont get a compiler error that he cant find method first   [self methodFirst];}- (voID) methodFirst{}@end

现在看来我不再需要这样做了吗?苹果是否更新编译器,以便不再需要提出声明?

我没有找到任何关于这个变化的官方Apple源代码。我不知道其他人在新的环境中遇到了什么。

解决方法 从Xcode 4.3附带的LLVM编译器版本开始,如果您尝试调用编译器以前未曾看到的方法,它将查看当前的@implementation块的其余部分,以查看该方法是否在以后声明。如果是这样,那么它使用它,你不会得到警告。因此,从Xcode 4.3开始,不需要预先声明内部方法。显然,您仍然需要声明公开暴露于其他类的方法。

一些Xcode 4.3 beta的发行说明中注意到这一变化,但显然没有将其纳入“Xcode 4.3的新功能”最终文档。

与其他答案中建议的不同,这不仅仅是默认情况下已关闭的“未声明的选择器”警告。实际上,如果您使用ARC,则无法识别的选择器仍然是硬错误。尝试调用[self myNonexistentMethod],你会看到;编译器仍然抱怨。

总结

以上是内存溢出为你收集整理的Objective-C中的私有方法,在Xcode 4.3中我不再需要在我的实现文件中声明它们?全部内容,希望文章能够帮你解决Objective-C中的私有方法,在Xcode 4.3中我不再需要在我的实现文件中声明它们?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1070360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存