gpt4 book ai didi

iphone - 如何在不公开的情况下访问类中的其他类成员(ivars)?

转载 作者:行者123 更新时间:2023-12-01 17:57:39 27 4
gpt4 key购买 nike

我写了以下 objective-c 类..

@interface thumb_user_info : NSObject
{
@public // Otherwise I was not able to access in other class.
NSString *user_name;
int user_id;
}
@end

当我在其他类中创建实例并尝试为 user_id 设置值时,它显示错误“它 protected ”,如何访问这些 ivars 而无需像上面那样将其公开。我知道它在 Objective-C 中的基础知识,我不想犹豫让自己清楚。

注意:我也尝试过合成它......仍然是同样的错误......

谢谢。

最佳答案

您要问的是 OOP 的基础之一,即面向对象编程。

您通过将其设为私有(private)来封装、绑定(bind)、隐藏您的私有(private)属性(property)。

如果您希望它们可见,则将其公开。

如果您希望它们被隐藏但可继承,则可以对其进行保护。

因此,无法从外部自我类(class)访问您的私有(private) ivars/方法。

如果要访问私有(private) ivars 值,则创建一个公共(public)方法并间接获取/返回该值。

synthesize 为 ivars (private/protected/public) 创建方法,如果它在 .h 中,它将变为 public。

关于iphone - 如何在不公开的情况下访问类中的其他类成员(ivars)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14476678/

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