Chinaunix首页 | 论坛 | 博客
  • 博客访问: 28119
  • 博文数量: 2
  • 博客积分: 30
  • 博客等级: 民兵
  • 技术积分: 35
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-17 00:56
文章分类

全部博文(2)

文章存档

2013年(2)

我的朋友

分类: iOS平台

2013-06-24 21:24:47

类扩展,是 Objective-C 2.0 为分类(Category)添加的一个非常有用的功能。见以下示例代码:

点击(此处)折叠或打开

  1. @interface AppDelegate ()

  2. - (NSURL *)applicationDocumentsDirectory;
  3. - (void)saveContext;

  4. @end
类扩展的声明方式和分类很像,区别只是括号内的分类名为空。

一个典型的类扩展的写法为:

点击(此处)折叠或打开

  1. @interface 类名 ()
  2. // 定义合成属性或方法,但不能添加字段,故不能有那一对大括号
  3. @end
这就是 Objective-C 中类的扩展,需要注意的是:
- 所谓的扩展,其实就是为一个类添加额外的原来没有的方法或者合成属性;
- 扩展中,只能扩展合成属性和方法,不能添加字段,否则会编译错误;
- 定义在 .m 文件中的扩展为私有的,定义在 .h 文件(头文件)中的扩展为公有的。类扩展是在 .m 文件中声明私有方法的非常好的方式。
- 类扩展中的声明的方法与在类中声明的方法是完全一致的,这些方法必须在随后的代码中实现,在编译时会被添加到类中,而分类是在运行时进行添加的。

阅读(7706) | 评论(0) | 转发(0) |
0

上一篇:Scrapy 介绍

下一篇:没有了

给主人留下些什么吧!~~