Objective-C 中变量的作用域

简介: Objective-C 中变量的作用域

iOS中,修饰变量的关键字有四个,分别是:

1 @public

被这个关键字修饰的变量是完全开放的,只要有这类的对象存在,就可以访问到这个变量。

2 @protected

被这个关键字修饰的变量是受保护的,只有在声明变量的这个类中和它的子类中,可以访问。

3 @private

被这个关键字修饰的变量是私有的,只能在声明这个变量的类中使用,子类也不能使用。

4 @package

这个关键字比较难理解,大致意思是被修饰的变量是封装的,在本框架内可以自由使用,效果和@public 相同,而在框架外不能使用,其子类也不能使用,效果又相当于@private。

因为@package的这种特点,它非常适用于franework框架。

一点扩展:

访问类中的变量,我们可以用->符号,它和点语法的区别在于,点语法实际上是调用的set与get方法,而->符号是直接访问变量。

目录
相关文章
|
iOS开发 C++ 编译器
Objective-c下变量和属性的区别
随着苹果将默认的编译器从GCC换成了LLVM,编译器自动为一个属性生成对应的变量和setter/getter方法,我们已经越来越习惯在自己创建的类中直接通过声明一个属性来创建一个类变量了。比如: #import <Foundation/Foundation.h> @interface Person : NSObject @property (nonatomic, st
1249 0
|
3月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
91 2
|
3月前
|
安全 JavaScript 前端开发
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
IOS开发基础知识:介绍一下 Swift 和 Objective-C,它们之间有什么区别?
66 0
|
机器学习/深度学习 API iOS开发
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(一)
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(一)
140 0
|
存储 自然语言处理 Java
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(二)
【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词(二)
218 0
|
Java iOS开发
【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态(二)
【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态(二)
116 0
|
存储 安全 C语言
【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态(一)
【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态(一)
161 0
|
iOS开发
【IOS 开发】Objective - C 语法 之 流程控制(二)
【IOS 开发】Objective - C 语法 之 流程控制(二)
141 0