博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS基础知识之类别
阅读量:5150 次
发布时间:2019-06-13

本文共 929 字,大约阅读时间需要 3 分钟。

本类从三个方面介绍iOS中的类别,分别是  什么是类别;类别的语法;类别的作用。具体内容如下:

一、类别:

类的补丁:当不能获取现有类的源码,但需要对现有类的功能进行补充时,这种情况下使用类别。

类别只能添加方法,不能添加成员变量。

类别中不提倡使用@property,@property在类别中使用时,不能生成对应的私有变量,因为类别中不能声明成员变量。

例如:对NSString进行加密MD5,这种情况下不能获取NSString的源码,但需要为其添加加密功能,则可以使用类别实现。

二、类别语法

1 @interface class_name (category_name)2 3 @end

例如:

1 @interface NSString (HelloWOrld)2 - (void)helloWorld;3 @end4 5 @implementation NSString (HelloWOrld)6 - (void)helloWorld {7   NSLog(@"hello world....");8 }9 @end

表示通过类别为现有类NSString添加helloWorld方法。

1 NSString *str = @"zhang";2 [str helloWorld];

 

iOS中实现类别的关键步骤如下:

1.选择Objective-C File,点击next.

2.在File中填写类别名称,在File Type中选择Category,在Class中选择需要进行扩展的现有类,最后点击next。

 

三、类别的作用

1.使用类别为一个类的“隐藏方法,即未在.h中声明的方法”添加声明。

2.分散一个大型的类,即当类中的方法过多时,可以将方法的声明和实现放到类别中实现,从而达到分散一个大型类的作用。

注意:类别方法的优先级比类本身方法的优先级要高,即类别和类本身中拥有相同的方法时,有限调用类别内的方法。

3.创建非正式协议,类似Java中的接口。

 

posted on
2017-02-19 22:29 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/calence/p/6417558.html

你可能感兴趣的文章
css3 2d转换3d转换以及动画的知识点汇总
查看>>
python 正则指北之我的总结
查看>>
sql 简单的定义变量 声明 输出
查看>>
【Java】使用Eclipse进行远程调试,Linux下开启远程调试
查看>>
js对象属性方法
查看>>
转:JUnit使用指南
查看>>
C++面试题整理(持续更新中)
查看>>
vs2017 git到oschina 方法
查看>>
对Vue为什么不支持IE8的解释之一
查看>>
使用easyUI 为datagrid冻结列
查看>>
开发 web 桌面类程序几个必须关注的细节
查看>>
bzoj 2784: [JLOI2012]时间流逝【树形期望dp】
查看>>
Myeclipse10.7添加本地插件方法
查看>>
Swift - 将字符串拆分成数组(把一个字符串分割成字符串数组)
查看>>
coredata 数据库升级
查看>>
NSRange,判断字符串的各种操作~
查看>>
Java基本数据类型之间赋值与运算归纳
查看>>
Facebook开源软件列表
查看>>
Swift版音乐播放器(简化版),swift音乐播放器
查看>>
iOS中AutoLayer自动布局流程及相关方法
查看>>