您的位置:首页 > 其它

协议的基本概念

2016-04-23 20:05 204 查看

第七天学习笔记

1.protacol基本概念

protacol:就像一个借口的概念,叫做协议,protacol的作用是用来申明一些方法的,也就是说,是一系列的方法的申明组成的protacol的语法格式:
@protacol 协议名称   方法声明列表   @end
和category一样在模板中创建在类的后面加上一个协议的名称,这个类就拥有了这个协议的所有方法的申明相同类型的类可以用继承,但是不同类型的只能用协议

2.protacol的注意点

协议中不能定义属性OC中只能继承一个类,但是可以有多个协议OC中的协议又可以遵守其他协议,只要在协议的名称后面加上一个<>,在<>里面写上我们的一个要遵守的协议的名称就可以了,那么如果一个类遵守了这个协议,就遵守了协议中的协议,这个是不是很有意思啊NSObejec也是协议啊,那么从今天起,NSObejec是一个类,也是一个协议

3.@required和@optional关键字

在一个协议中有这两个关键字的话,就可以控制方法是否需要实现required表示:这个方法必须要实现optional表示:这个方法可以不实现@required和@optional关键字:写在方法的前面这两个关键字用于程序员之间的交流的

4.协议的应用场景–类型限定

可以将我们的协议写在数据类型的右边<>,如果想给该变量赋值,那么该对象必须遵守某个协议,那么如果对象不遵守这个协议,就会有警告类型的限定一定是写在数据类型的右边的虽然在接受某个对象的时候,对这个对象进行了类型的限定(限定它必须实现某个协议),但是并不意味着这个对象就是真正的实现了该方法,所以每次在调用对象的协议方法的时候应该进行一次验证如果验证成功的话,我们就可以调用我们对象的这个方法(实例代码没有写,可以在协议的视频中查看),那么在调用这个对象的协议的时候,一定要记得写上这个协议的判断,也就是这个安全协议的方法是不是实现了,这个可以证明你有没有一个开发的经验啊实例代码
if([self.wife respondsToSelector:@selector(cooking)])  { [self.wife cooking]  }
//那么这样就表示了,如果协议的方法实现了的话,我们就可以调用,如果没有实现的话,我们就不能够调用

5.代理设计模式

这个贯穿我们的整个iOS开发如果使用id类型来接受数据,那么以后换了数据类型,不要修改代码协议的编写规范,当前协议属于谁,我们就将协议定义到谁的头文件中协议的名称一般以他的属于的那个类的类名开头,后面跟上property或者delegate没有搞懂为什么要传一个参数啊

6.Foundation框架介绍

框架就是众多应用程序的几个如何创建字符串![image](/Users/yinhuanyi/Desktop/屏幕快照\ 2016-03-05\ 下午10.57.07.png)

7.字符串的读写

URL:互联无上统一的标准资源地址URL格式:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: