其实质是对一个类的扩充,对类扩充的方法有两种:

(1)通过继承(经常用到)

(2)通过分类

一个已知类Name

其头文件Name.h

#import <Foundation/Foundation.h>

@interface Name : NSObject

@property(strong,nonatomic)NSString* nameStr;

-(Name *)init:(NSString*)nameString;

-(void)nameValue;

@end

 
其实现文件 Name.m
 

#import "Name.h"

@implementation Name

-(Name *)init:(NSString*)nameString

{

Name * name = [Name new];

name.nameStr = nameString;

return name;

}

-(void)nameValue

{

NSLog(@"----%@--",self.nameStr);

}

@end

 

再新建一个头文件Name+change.h用来声明其所要扩充的方法

源码:

#import "Name.h"

@interface Name(change)

-(void)addNameID:(NSString *)str;

@end

 

再新建一个实现文件Name+change.m用来实现自己扩充的方法

#import <Foundation/Foundation.h>

#import "Name+change.h"

#import "Name.h"

@implementation Name (change)

-(void)addNameID:(NSString *)str

{

NSLog(@"---%@--%@--",self.nameStr,str);

}

@end

 

其测试文件选择命令行

main.m

#import <Foundation/Foundation.h>

#import "Name+change.h"

int main(int argc, const char * argv[]) {

@autoreleasepool {

Name * name1 = [[Name alloc] init:@"wangfei"];

[name1 nameValue];

[name1 addNameID:@"898989"];

}

return 0;

}

 

其测试结果:

2015-07-11 16:34:53.051 Category[1462:60100] ----wangfei--

2015-07-11 16:34:53.053 Category[1462:60100] ---wangfei--898989--

Program ended with exit code: 0

 

 

最新文章

  1. nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)
  2. Linux服务器搬迁记(一)
  3. 黑马程序员_ Objective-c 之block、protocol学习笔记
  4. c语言是如何实现泛型链表
  5. iOS使用宏写单例
  6. C#2.0至4.0 的一些特性
  7. Pyhton 操作MySQL数据库
  8. wpf CollectionViewSource与ListBox的折叠、分组显示,及输入关键字 Filter的筛选
  9. ●洛谷P1291 [SHOI2002]百事世界杯之旅
  10. 使用axios 的post请求下载文件,
  11. querySelector() 选择器语法
  12. S50 抓取pattern数据
  13. 20165314 学习基础和C语言基础调查
  14. PYTHON-绑定方法 反射 内置函数
  15. Inside The C++ Object Model(一)
  16. java的反射机制浅谈(转)
  17. Smarty标签 for运算
  18. LeetCode题解:(114) Flatten Binary Tree to Linked List
  19. 洛谷P4644 [USACO2005 Dec]Cleaning Shifts 清理牛棚 [DP,数据结构优化]
  20. Ubuntu 设置为固定ip

热门文章

  1. dede后台出现   保存目录数据时失败,请检查你的输入资料是否存在问题
  2. CSAPP 第二章随笔
  3. Jupyter notebook入门
  4. ios7对于NSString对象进行了的变更
  5. mysql-冗余和重复索引
  6. python3 第十九章 - 写一个10进制转任意进制的函数
  7. 爬取西刺网代理ip,并把其存放mysql数据库
  8. JavaScript小结
  9. jquery取前、后、父、子元素
  10. linux指令--ls