美文网首页iOS 深度好文
iOS 关键词@package, @private, @prot

iOS 关键词@package, @private, @prot

作者: 股金杂谈 | 来源:发表于2017-08-20 22:00 被阅读556次

@package是一个新的实例变量保护类, 像@public@protected. @package实例变量有如下特性:

•   @public in 32-bit;
•   @public in 64-bit, 定义类framework之内.
•   @private in 64-bit, 定义类的framework之外.

在 64位机器上, 用@package标记的成员变量不会被导出到外部, 所以任何试图在这个framework外面访问这些成员变量的类都会得到一个链接错误的结果.

Objective-C中,类的实例化变量的范围有@private、@protected、@public。他们代表的意思和C++中相同,只是前面添加了一个@符号。下面介绍一下他们代表的范围:
指令
意思

@private 作用范围只能在自身类
@protected 作用范围在自身类和继承自己的子类,什么都不写,默认是此属性。
@public 作用范围最大,在任何地方

下面是官方的图:


图片.png

具体的可以参考:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocDefiningClasses.html#//apple_ref/doc/uid/TP30001163-CH12-SW1

参考:
iOS 64位机器类和实例变量访问控制
更多信息可以查看:
Objective-C中@private、@protected、@public 解析

相关文章

网友评论

    本文标题:iOS 关键词@package, @private, @prot

    本文链接:https://www.haomeiwen.com/subject/fzxrottx.html