objective-c 与 protected public private关键字

来源:互联网 发布:怎么做网络水军 编辑:程序博客网 时间:2024/05/17 05:16

今天在看别人写的代码的时候发现写一个通知的命名的时候这么做的

.h

extern NSString *const CTDisplayViewImagePressedNotification;

.m

NSString *const CTDisplayViewImagePressedNotification = @“someThing”;

没见过这种写法,于是查了查。

这是一种定义全局变量的方式,就是如果你在某个地方引入了该.h头文件,你便可以利用该常量了。

对于还有一种比较普遍的是

#define NSTest @"testSth"

像这样使用宏定义,这种写法简单,向上边需要在.h和.m文件同时操作。预编宏,编译器会在编译的时候把用到宏NSTest地方替换成@"testSth"进行编译。这样在需要该字符串的地方相当于被初始化多次。而第一种方式,在内存中只有一份指针,不过不用担心,oc编译的时候会对字符串进行特殊处理,所以即使是实用宏定义的方式在内存中也只有一份。 吐舌头
1.oc 对象默认是protected修饰

2.protected 修饰的对象只能被本类和子类内部使用。

3.private 关键字修饰的 只能在本类内部使用。

4.public修饰的对象 可以在所有类中使用。

0 0
原创粉丝点击