iOS:分类、协议、代理
来源:互联网 发布:win7装linux 编辑:程序博客网 时间:2024/05/16 12:13
1. 分类 :Categories
-> modularise the definition of a class into groups or categories of related methods.
-> extend an existing class definition
应用场景: 1.为自定义的类,添加新方法时, 2.为库中的类(比如NSArray)扩展方法
分类的作用:可以将类的定义模块化到相关方法的组或分类中,它还提供了扩展现有类定义的简便方式,并且不必访问类的源代码,也无须创建子类。
分类的定义:
接口部分
@interface 类名 (分类名)
需要添加的方法
@end
实现部分
@implementation 类名 (分类名)
方法的具体实现
@end
2.协议和代理 :Protocols and Delegation
协议的定义: 协议是多个类共享的一个方法列表,协议中列出的方法没有相应的实现,协议中列出的一组方法,@required 是必须实现的,@optional是选择实现。
@protocol 协议名称
@required
声明一些必须实现的方法
@optional
声明一些可选的方法
@end
如果你希望你的某个类采用协议,
可以通过在@interface行的父类名称后用一对尖扣号(<协议名>)内列出协议名称
可以使用 conformsToProtocol:方法检查一个对象是否遵循某项协议
协议是一种两个类之间的接口定义。定义了协议的类可以看作是将协议定义的方法代理了给实现它们的类
0 0
- iOS:分类、协议、代理
- iOS代理与协议
- ios 协议和代理
- iOS协议代理
- iOS 代理 协议
- ios协议 与代理
- iOS代理,协议
- iOS 协议代理
- iOS 代理协议
- 黑马程序员——ios开发基础之OC中的分类、协议、延展和代理
- IOS代理协议与委托
- IOS类目、延展、代理协议
- iOS开发 - 协议与代理
- iOS 代理协议传值
- IOS中的协议-代理,传值
- 论ios代理和协议
- IOS代理协议与委托
- IOS中的协议与代理
- #include< >和#include""的区别
- 【嵌入式开发板】迅为iTOP-4412开发板板及资料介绍
- Shell中的运算符
- 从一个控制器返回后,控制器所属的tabbarController没选中(tabbarItem图标不亮)
- GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
- iOS:分类、协议、代理
- 第十周——面向对象——继承与派生——项目一(2)储存班长信息的学生类
- HDU 5228 【水题】
- Caused by: org.xml.sax.SAXParseException: The content of elements must consist of well-formed charac
- mongo命令
- Sublime Text 2 设置文件详解
- 总结单例类的几种实现方式
- Linux-shell-算术运算{expr、bc、dc、(( ))和[ ]}
- Understanding Weak References