协议的基本概念

第七天学习笔记

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格式:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值