ios 类别(category)
定义
类别(category)是Objective-C语言的新特性,为现有的类添加新方法的方式。局限性:1、无法添加新的实例变量。2、与类本身的方法名称冲突。当名称冲突时,类别具有更高的优先级。作用:1、利用类别分散实现。2、使用类别创建前向引用。3、非正式协议和委托类别。
使用
@interface NSString (subString)
- (NSString *)getNewMethod;//新添加的方法
@end
@implementation NSString (subString)
-(NSString *)getNewMethod{
return @"newMethed";
}
@end
#import "NSString+subString.h"
方法的调用
NSString *testStr = @"categorytest-lyhuzhu";
NSLog(@"getNewMethod:%@",[testStr getNewMethod]);
返回结果
getNewMethod:newMethed
ios 类别(category)的更多相关文章
- iOS类别(Category)
		
iOS类别(Category)与扩展(Extension) 苹果的官方文档 Category在iOS开发中使用非常频繁.尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最 ...
 - iOS类别(Category)与扩展(Extension)-b
		
苹果的官方文档 Category在iOS开发中使用非常频繁.尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添加方法,最大程度的体现了Objective-C的动态语言特性. #im ...
 - iOS类别(Category)和扩展(Extension,匿名类)
		
Category在iOS在开发常用. 特别是对于系统扩展上课时间.我们不能继承系统类.直接添加到系统类方法,最大程度上体现Objective-C动态语言特征. #import @interface N ...
 - 类别(Category)与扩展(Extensions)
		
一.类别(Category) 类别(Category)是一种可以为现有的类(包括类簇:NSString...,甚至源码无法获得的类)添加新方法的方式无需从现有的类继承子类.类别添加的新方法可以被子类继 ...
 - Objective-C日记-之类别Category
		
类别Category 1,概述 为现有类添加新的方法,这些新方法的Objective-C的术语为“类别”. 2,用法 a,声明类别 @interface NSString(NumberConvenie ...
 - Objective-C  类别(category)和扩展(Extension)
		
1.类别(category) 使用Object-C中的分类,是一种编译时的手段,允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以 ...
 - 分类(类别/Category)与 类扩展(Extension)
		
一.分类(类别/Category) 1.适用范围 当你已经封装好了一个类(也可能是系统类.第三方库),不想在改动这个类了,可是随着程序功能的增加需要在类中增加一个方法,这时我们不必修改主类, ...
 - IOS 类别与扩展的区别  (category & extensions)
		
类别 .h @interface NSString(XXXXXX) -(NSInteger)getLen; @end .m @implementation NSString(XXXXXX) -(NSI ...
 - iOS类别(category)不能添加成员变量但是可以添加属性的问题
		
类别不需要介绍了把,网上一大堆(利用Objective-C的动态运行时分配机制,可以为现有的类添加新方法,这种为现有的类添加新方法的方式称为类别catagory,他可以为任何类添加新的方法,包括那些没 ...
 
随机推荐
- 内存分配方式,堆区,栈区,new/delete/malloc/free
			
1.内存分配方式 内存分配方式有三种: [1]从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量. [2]在栈上创建.在执行函数时 ...
 - bootgrid修改成可以全勾选和全取消勾选操作
			
1. 引言 由于项目需要,需要在不同页面上选择全勾选能全部勾选所有的记录,反勾选也如此.这个需求可以解决了一个样例:如果有150条记录,当前页就10条,你又在每一个页面勾选部分的记录,然后,如果你要全 ...
 - Android设计模式-观察者模式
			
原文地址 http://blog.csdn.net/qq_25806863/article/details/69218968 观察者模式是一种使用频率非常高的设计模式,最常用的地方就是订阅-发布系统. ...
 - Js中带有小数的值相加产生的问题
			
项目中遇到的问题,0.1+0.2为0.30000000000000004,与想象中不一样, 解决办法: function addNum (num1, num2) { var sq1,sq2,m; tr ...
 - C#中Convert.ToInt32、int.TryParse、(int)和int.Parse四者的区别
			
Convert.ToInt32.(int)和int.Parse三者的区别: 首先:Convert.ToInt32 适合将object类类型转换成int类型,如Convert.ToInt32(sessi ...
 - web----框架基础
			
Web框架本质: 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 真实开发中的python web程序来说,一般会分为两部分:服务器 ...
 - python 全栈开发,Day90(Vue组件,前端开发工具包)
			
昨日内容回顾 1. Vue使用 1. 生成Vue实例和DOM中元素绑定 2. app.$el --> 取出该vue实例绑定的DOM标签 3. app.$data --> 取出该vue实例绑 ...
 - Js引擎解析执行 阅读笔记
			
Js引擎解析执行 阅读笔记 一篇阅读笔记 http://km.oa.com/group/2178/articles/show/145691?kmref=search&from_page=1&a ...
 - Javascript事件设计模式(七)
			
一:事件设计概述 事件机制可以使程序逻辑更加符合现实世界,在JavaScript中很多对象都有自己的事件,例如按钮就有onclick事件,下拉列表框就有 onchange事件,通过这些事件可以方便编程 ...
 - JS高级 - 面向对象5(继承,引用)
			
<script type="text/javascript"> //------------------Person类 //(Person)的构造函数 function ...