博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Objective-c Category(类别)
阅读量:6243 次
发布时间:2019-06-22

本文共 799 字,大约阅读时间需要 2 分钟。

category是Objective-c里面最常用的功能之一。

category可以为已经存在的类增加方法,而不需要增加一个子类。

类别接口的标准语法格式如下:

[cpp]
  1. #import "类名.h"  
  2. @interface 类名 (类别名)  
  3. //新方法的声明  
  4. @end  

类别实现如下:

[cpp]
  1. #import "类名类别名.h"  
  2. @implementation 类名 (类别名)  
  3. //新方法实现  
  4. @end  

这跟类的定义非常类似,区别就是category没有父类,而且在括号里面有category的名子。名字可以随便取。

如:我们如果想在NSString上增加一个方法判断它是否是一个URL,那就可以这么做:

[cpp]
  1. #import …  
  2. @interface NSString (Utilities)  
  3. - (BOOL) isURL;  
  4. @end  

类别实现:

[cpp]
  1. #import "NSStringUtilities.h"  
  2. @implementation NSString (Utilities)  
  3. - (BOOL) isURL{  
  4.   if( [self hasPrefix:@"http://"] )  
  5.       return YES;  
  6.   else   
  7.       return NO;  
  8. }  
  9. @end  

使用方法:

[cpp]
  1. NSString* string1 = @"http://www.csdn.net";  
  2. NSString* string2 = @"Pixar";  
  3.   
  4. if( [string1 isURL] )  
  5.     NSLog(@"string1 is a URL");  
  6. else  
  7.     NSLog(@"string1 is not a URL");  
  8.   
  9. if( [string2 isURL] )  
  10.     NSLog(@"string2 is a URL");  
  11. else  
  12.     NSLog(@"string2 is not a URL");  

转载地址:http://iosia.baihongyu.com/

你可能感兴趣的文章
android sdk 如何重新生成debug.keystore
查看>>
黑马程序员-JAVA基础-练习之存储学生信息
查看>>
基于FPGA的跨时钟域信号处理——同步设计的重要
查看>>
【SAP HANA】关于SAP HANA中Analytic View创建、激活状况下在系统中生成对象的研究...
查看>>
ubuntu 12.04 ubuntu System program problem detected 解决方法
查看>>
c++智能指针《一》 auto_ptr
查看>>
我的代码观——关于ACM编程风格与librazy网友的对话
查看>>
Linux 总结2
查看>>
mysql C++ 使用
查看>>
android程序监听home键与电源键
查看>>
iOS中使用 Reachability 检测网络
查看>>
现场故障-数据量超出plsql developer结果集导致应用程序无数据现象
查看>>
Android -- sqlite数据库随apk发布
查看>>
JQuery操作表单相关使用总结
查看>>
将markdown格式转化为bootstrap风格html
查看>>
CSS3 Transitions属性打造动画的下载按钮特效
查看>>
eclipse 快捷键
查看>>
js常用的事件对象
查看>>
SharePoint 2013 禁用搜索服务
查看>>
[原]一个针对LVS的压力测试报告
查看>>