协议的基本概念
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格式:相关文章推荐
- Try Catch Finally
- HDU 4501 小明系列故事——买年货(三重背包)
- java基础(20)--java动态编程-Javassist
- C++字符串类
- 在aws的ec2服务器上搭建nginx+php的环境
- 将caffe训练时loss的变化曲线用matlab绘制出来
- MySQL查询优化
- 独立成分分析(Independent Component Analysis)
- poj1017:装箱问题
- 浙大 PAT Advanced level 1007. Maximum Subsequence Sum
- 经典Dialog插件Layer
- [UNet]通过一个小测试了解Command和ClientRpc的功能
- 【读书笔记】Android安全机制解析与应用实践之安卓的安全模型
- 基于工作空间框架实现的iOS分层架构实现
- Git 分支管理和冲突解决
- 第八次作业
- python内置函数
- 剑指Offer--026-复杂链表的复制
- 编程之美之寻找最近点对
- 【总结】C++、C#、Java、Javascript、Python中引用的区别