【《Objective-C基础教程 》笔记】(七)OC的关键字用意小结

简介: 1.  #import     #import 从system目录中查找头文件,不会检查当前目录。     #import "" 首先在当前目录中查找,如果未找到,则在Xcode设置的预处理程序搜索路径中查找文件。

1.  #import

    #import <> 从system目录中查找头文件,不会检查当前目录。

    #import "" 首先在当前目录中查找,如果未找到,则在Xcode设置的预处理程序搜索路径中查找文件。

    #import 指令可以防止头文件被重复包含

  2. typedef

    用于给一个类型定义新名称 或 简化较为复杂的类型声明。

  3. #define

    用于宏定义预处理。

  4. 定义类

    *.h 用于定义类的头文件

    @interface 类 : 父类

    @end

    *.m Object C中的类文件

    @implementation 类

    @end

  5. 类方法定义

    -(返回值类型) 函数名: (类型) value 参数名: (类型) value …. 

    -(int) speak:(int) a andName:(NSString*) address;

    必须使用累的实例来调用

  6.全局方法定义

    +(返回值类型) 函数名: (类型) value 参数名: (类型) value ….

    +(int) speak:(int) a andName:(NSString*) address;

    直接使用类调用,不需要实例,相当于静态方法,和类方法不同之处在于 "+" 和 "-" 的区别

   7. super

    用于子类调用父类方法,在重载的时候用的比较多

   8.@selector 

    获取方法的编号,相当于获取函数指针,SEL sel1=@selector(eat);

   9. @class

    @class 来告诉编译器这是一个类,编译器只需要通过指针来引用它即可,并不需要知道关于这个类的更多信息,可以用来减少编译。

  10.@protocol 

    用于定义一个协议,相当于.NET中的接口interface

  11.@property

    用于定义类属性,比如@property (nonatomic,retainNSString *name; 相当于实现get和set方法,写在类的*.h文件中

  12.@synthesize

    用于实现在头文件中描述实现的类属性,一般和@property同时使用; 例如:@synthesize name; 这个写在类的*.m文件中

  13. id

    id是保存“指向对象的指针”的类型。声明为id的变量,可以保存指向任何Objective-C对象的一个指针

  14. retain

    通知编译器向分配给此属性的对象发送一个保留消息,这将确保属性底层的实例变量在使用过程中不会从内存中消失。释放旧对象,将就对象的值赋予新对象,在增加新对象的索引计数1 (在@property中使用)

  15. nonatomic

    不给set方法加锁,在多线程访问的时候会出现并发问题 (在@property中使用)

  16. assign

    简单的赋值,不更改索引的计数(在@property中使用)

  17. copy

    建立一个索引计数为1的对象,然后释放旧对象(在@property中使用)

  18.readonly

    将只生成get方法而不生成set方法(在@property中使用)

  19.readwrite

    默认属性,将生成不带额外参数的get和set方法(在@property中使用)

  20.atomic

    相当于set方法加锁,当多线程访问的时候,只有当一个线程访问结束之后另外一个线程才能执行(在@property中使用)


转自http://www.cnblogs.com/qingyuan/p/3647704.html

相关文章
|
存储 Java C语言
objective-c基础教程——学习小结
objective-c基础教程——学习小结   提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织;XCode使用介绍) 简介: 1.       objective-c是C语言的一个扩展集,主要由APPLE公司维护,是MAC系统下的主要开发语言。
1121 0
|
JavaScript C++ iOS开发
Objective-C 入门笔记
简介 建立在C语言之上,可以混编C/C++代码,编写一个类需要二个文件: .h的头文件 .m的实现文件(如果是C/C++混编文件,文件后缀为.mm) 既然有头文件,所以很多人会拿它与C++进行类比,它最重要的三个特性是:Message、Category、Protocol,与C++类比,二者之...
926 0
|
API iOS开发 Swift
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记9 Objective-c Compatibility
我们都知道在Swift诞生之前进行IOS开发一直使用Objective-c这门语言。OC和Swift之间需要一个桥接。
845 0
|
iOS开发 调度 编译器
【《Objective-C基础教程 》笔记ch04】(五)OC中的继承inheritance机制
一、为什么需要继承                            使用继承一方面继承了父类的特性,另一方便解决了重复代码维护问题。 二、继承之语法          1、 @interface 子类名:父类名          2、 OC只支持单继承,不支持继承多个父类。
887 0
|
C语言 C++ iOS开发
【《Objective-C基础教程 》笔记ch02】(一)Hello Object-C 项目
一、项目实现步骤。 1、若xcode尚未运行,先启动它。 2、选择Select File --> New --> New Project菜单选项。 3、选择左边OS X下得application,再选中右边的command line tool,点击next。
988 0
|
iOS开发
【《Objective-C基础教程 》笔记ch02】(二)Boolean类型及实例
一、布尔类型         布尔类型是一种对带符号的字符类型(signed char)的类型定义,使用8位的存储空间。         通过#define指令把YES定义为1,NO定义为0,都是8位的二进制数。
969 0
|
iOS开发 调度
【《Objective-C基础教程 》笔记ch03】(三)间接indirection与OOP
一、什么是间接         1、在代码中通过指针间接获得某个值,而不是直接获取。         2、间接的本质是告诉我们从哪里获得需要的数据。 二、间接的反面——面向过程式编程         1、在过程式编程中,你决定使用什么函数,然后直接(非间接)调用它并传递这个函数所需要的数据给它。
937 0