iOS-Category简单使用

本文介绍了Objective-C中Category的概念,讲解了其设计原则、如何添加方法和属性,以及调用优先级。Category允许给现有类添加新方法,不修改源代码。文中详细阐述了Category的实现原理,强调不覆盖原有方法的重要性,并提供了手动实现属性的技巧。同时,讨论了Category方法的调用顺序,指出文件的编译顺序会影响Category方法的调用优先级。
摘要由CSDN通过智能技术生成

Category是指Objective-C中的类别也叫分类,是一种不需要继承即可给已有且无法修改的类添加新方法的语法技术。

Category利用Objective-C的动态运行时分配机制(Runtime),主要作用是为现有的类(自己的或系统的或三方库的)添加新方法。

Category可以为任何已有的类添加新的方法,包括那些没有源代码、只能使用、无法修改的类。

Category的设计原则

Category 的实现可以依赖主类,但主类一定不依赖 Category,也就是说移除任何一个 Category 的代码不会对主类产生任何影响。

Category 可以直接使用主类已有的私有成员变量,但不应该为实现 Category 而往主类中添加成员变量。

所以Category的设计一定是简单的插拔使用,就像买个机械键盘来扩展MacBook的键盘,插了就能用,拔了MacBook也不会受到任何影响。 

Category添加方法

Category添加方法是最常用也是最主要、最重要的使用方式。

第一步:我们要新建一个文件。

命名时应该加上大写前缀。 

第二步:为这个Category添加方法。

注意:Category方法最好不要和类原有的方法重名,运行时会优先调用Category中的同名方法,也就是Category方法会覆盖掉类中原有的方法,这是不好的,因为Category本意为添加新的方法而不是重写。

所以Category方法在命名时,例如:小写前缀_方法名称 - zoc_viewLog。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值