我写了下面的 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设置值时,它显示错误“它受到保护”,如何访问这些ivars而不像上面那样公开。我了解 objective-c 的基本知识,我想毫不犹豫地阐明自己。
注意:我也尝试通过综合它...仍然相同的错误...
谢谢。
最佳答案
您要问的是面向对象编程(OOP)的基础之一。
您可以通过将其 private 化来对其进行封装,绑定和隐藏。
如果希望它们可见,则将其公开。
如果将它们隐藏起来但可以继承,则可以对其进行保护。
因此,无法从外部自学类访问您的 private ivars /方法。
如果要访问 private ivars值,请使用 public 方法并间接获取/返回该值。
synthesize为ivars( private /受保护/ public )创建方法,如果它在.h中变为 public 。
关于iphone - 如何在不公开的情况下访问类(class)中的其他类(class)成员(ivars)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14476678/