iOS 关键词@package, @private, @protected, @public

@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 解析

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,001评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • Google的Objective-C编码规范 总览 背景知识 Objective-C是一个C语言的扩展语言...
    渣渣程序猿爱次次大餐阅读 1,602评论 0 3
  • 1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch...
    阳光的大男孩儿阅读 5,047评论 0 13
  • 很少写影评,这两天补完最后几集《人民的名义》看结局不禁唏嘘。 整部电视剧里,其实我比较看好的角色,不是认真且萌的达...
    问瑜_阅读 397评论 3 2