gpt4 book ai didi

iphone - Objective-C:你在代码中使用@private 可见性/访问修饰符吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:15:06 28 4
gpt4 key购买 nike

有 3 个修饰符:@private、@protected(默认)和@public。习惯于在 C++ 和其他更理智的语言中这样做,我总是在我的字段中使用 @private。我几乎(如果有的话)在 Apple 的 SDK 示例中看到这一点——它们只依赖于默认的。

有一天我意识到 Objective-C 继承是相当虚假的特性:从另一个接口(interface)派生接口(interface)并不意味着所有私有(private)字段现在都可用于重新定义。编译器仍然会看到它们并不允许定义一个具有相同名称的新私有(private)字段,这与 OOD 中的经典封装范例正交。

所以我有点沮丧。也许我对这门语言的期望太高了,因为它只不过是在标准 C 之上的构建。

那么你在代码中使用@private 吗?为什么?

最佳答案

我想总是使用 @private 是个好主意, 但我过去从来没有打扰过,因为我通常对几乎所有 ivar 访问都使用属性访问器,init 除外。和 dealloc方法。所以在实践中,我很少遇到错误访问 ivars 的问题。

此外,如果您的目标是 iOS 4+,如果您使用 @synthesize,则无需为属性声明 ivars。 .


我应该注意,如果您正在编写打算由其他开发人员子类化的库代码,请使用 @private会更重要。

关于iphone - Objective-C:你在代码中使用@private 可见性/访问修饰符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4608158/

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