OC学习之延展和协议

今天终于不再纠结KVO的问题了 其实说实话也是很简单的事情 

这就跟窗户纸一样 捅破了以后 也就那回事 。。 

昨天给我难的把。。 哎。。 

刚才看完了 通知 类目 延展 跟协议 

这些东西把 其实自我感觉 都比较简单 几乎一看都差不多明白大概意思

但是应用到自己的程序中去的话 还是有不少的难度

最难理解的地方应该是协议的代理问题 

通知呢 自我感觉就是系统可以接受你的一个字符串 接收到了就给你发送一条消息 具体的 好像就这样吧 用到了再说

类目 首先要知道 它不是一个类 它只是类的一个扩展,其作用呢 也就是 可以给所有已知的类添加新的方法
比如NSobject 的根类 你要想改其中的方法 怎么改呢 苹果也没给你这个跟类的源码 或者你可以新建一个子类 继承它

但是 那样只是重建 而不是修改 真正意义上的修改 而且不知道源文件的话 就可以用到类目 

通过类目添加的方法会成为原始类的一部分,其与原类的方法同级。

但是 不要随意的去写原类的方法 ,比如你去把NSobject的INIT方法给改了 好吧 你以后就很麻烦了。。

说延展把

延展呢 也就是一个特殊的类目,编写在类的实现文件当中,延展定义的方法在该类的本身实现,也就是定义一个私有方法

延展还有一个特点 就是在不写延展名字的时候 系统会提示你必须实现该延展方法。 
 说道协议

协议其实通过字面意思 就可以知道其大概含义

其就是定义了一套标准,定义了一个规则,规则中有 你该去做什么,应该做什么,但是却不会去关心你到底做了没有


举个很简单的例子,你现在是一个菜鸟程序员,刚到新公司,然后项目经理肯定要给你派活干,因为你是个菜鸟也没法办参加到程序设计,或者案例规划之类的事情。你的工作呢 也就是敲代码

好了 现在就可以用到协议了。项目经历做好一个协议 然后交给你 协议里有若干的方法 有必须去做的也就是默认的@requied 也有可以不做的方法 @optional 你的任务就是拿到协议以后 在你的类后边加上该协议 然后该协议就会提示你哪些方法还没有实现。

协议也就是相当于确认类的父类,可以规范类的行为,有利于系统设计和团队开发,当然协议也是个可选语法,并一定非要用它,有它没它地球照样转。

就跟我们的类方法一样 约定俗成的首字母要大写,但是不大写也是可以的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值