gpt4 book ai didi

objective-c - 为什么我需要一个类扩展来将方法设为私有(private)?

转载 作者:行者123 更新时间:2023-12-01 17:59:22 26 4
gpt4 key购买 nike

我一直在阅读有关此内容的一些信息,但我不明白为什么人们添加类扩展以使方法私有(private)。

将它从头文件中删除就足够了吗?
在我看来已经足够了,但我可能遗漏了更重要的一点?

最佳答案

简短的回答:现在(我认为从 Xcode 4.4 开始),你没有。原因:您不需要转发声明方法。把你的私有(private)方法放在你的 .m 文件中,你就完成了。

以前(Xcode 4.3 和更早版本),您必须先转发声明您的方法,然后才能调用它们。因为你已经在 .h 文件中声明了这个类,你不能在 .m 文件中再次声明它,所以类扩展是向已经声明的类添加方法的方法。

编辑:正如上面(和下面)提到的@Yar,.m 文件中未声明的私有(private)方法对该类的子类不可见,这意味着该子类不可能调用或覆盖该方法。尽管如此,我还是倾向于不去声明它,除非/直到你最终得到一个需要覆盖或调用它的子类。对我来说,这种情况很少发生。

关于objective-c - 为什么我需要一个类扩展来将方法设为私有(private)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12630867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com