gpt4 book ai didi

objective-c - @private 是什么?它的用途是什么?

转载 作者:太空狗 更新时间:2023-10-30 04:01:34 26 4
gpt4 key购买 nike

我在我的一个项目@private 中看到这里是代码..

@interface mapview : UIViewController<CLLocationManagerDelegate, MKMapViewDelegate,UITextFieldDelegate> {
@private
CLLocationManager *_locationManager;
MKReverseGeocoder *_reverseGeocoder;
MKMapView* _mapView;
}

这个有什么用?

我知道这可能是一个非常低级的问题……我想知道这里对@private 的使用。

最佳答案

@private 限制在 @private 指令下声明的实例变量的范围或“可见性”。编译器(据说)强制执行此范围,并且不允许在声明 them 的类之外直接访问私有(private)实例变量。 .在现代 Objective-C 运行时(在 OS X 或 iOS 4 或更高版本上为 64 位),实例变量不需要在类 @interface 中声明,并且可见性不是问题。在遗留运行时中,实例变量必须在 @interface 中声明,因此 @private 是防止客户端代码直接使用实例变量的唯一方法。

参见 Objective-C Language Guide了解更多信息(包括 @public@protected@package 可见性修饰符)。

GCC 不强制可见性,但我相信 Clang 2.0 会。

关于objective-c - @private 是什么?它的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4744013/

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