object-c方法
2016-05-09 18:01
519 查看
分类;类方法和对象方法
1.形参个数可变的方法
-(void)test:(NSString*) name, ...;
个数可变的形参只能处于形参列表的最后,一个方法中最多只能包含一个个数可变的形参。
为了在程序中获取个数可变的形参,需要使用一下关键字:
va_list:一个类型,用以定义指向可变参数列表的指针变量
va_start:一个函数,该函数制定开始处理可变参数的列表,并让指针变量指向可变形参列表的第一个参数。
va_end:结束处理可变参数,释放指针变量。
va_arg:该函数返回获取指针当前指向的参数的值,并将指针移动到指向下一个参数,
@implementation VarArgs
-(void)test:(NSString*) name,...{
//使用va_list定义一个arglist指针变量,该指针变量指向可变参数列表
va_list argList;
//如果第一个name参数存在,则处理后面参数
if(name){
//argList指向第一个可变参数列表的第一个参数,开始提取可变参数列表的参数
va_start(argList,name);
//va_arg用以提取argList指针当前指向的参数,并将指针移动到指向下一个参数
//arg变量用以保存当前获取的参数,如果参数部位nil,进入循环体
NSString* arg=va_arg(argList,id);
while(arg){
//在此提取下一个参数
arg=va_arg(argList,id);
}
//释放argList指针,结束提取
va_end(argList);
}
}
@end
1.形参个数可变的方法
-(void)test:(NSString*) name, ...;
个数可变的形参只能处于形参列表的最后,一个方法中最多只能包含一个个数可变的形参。
为了在程序中获取个数可变的形参,需要使用一下关键字:
va_list:一个类型,用以定义指向可变参数列表的指针变量
va_start:一个函数,该函数制定开始处理可变参数的列表,并让指针变量指向可变形参列表的第一个参数。
va_end:结束处理可变参数,释放指针变量。
va_arg:该函数返回获取指针当前指向的参数的值,并将指针移动到指向下一个参数,
@implementation VarArgs
-(void)test:(NSString*) name,...{
//使用va_list定义一个arglist指针变量,该指针变量指向可变参数列表
va_list argList;
//如果第一个name参数存在,则处理后面参数
if(name){
//argList指向第一个可变参数列表的第一个参数,开始提取可变参数列表的参数
va_start(argList,name);
//va_arg用以提取argList指针当前指向的参数,并将指针移动到指向下一个参数
//arg变量用以保存当前获取的参数,如果参数部位nil,进入循环体
NSString* arg=va_arg(argList,id);
while(arg){
//在此提取下一个参数
arg=va_arg(argList,id);
}
//释放argList指针,结束提取
va_end(argList);
}
}
@end
相关文章推荐
- 常用类之Object
- 属性和点语法(16.5.9)
- Object类及toString方法介绍
- Objective-C -- 字符串与数字互相转换
- Objective-C中的同步线程的锁
- Objective-C中的同步线程的锁
- Objective-C中的Block
- Objective-C学习笔记和IOS入门
- ct returned too many results 错误:Error: executeQueryForObject returned too many results
- java.lang.ClassNotFoundException: net.sf.json.JSONObject
- Qt元对象系统(二)【根据moc文件解析Q_OBJECT】
- localStorage 保存对象Object
- iOS App开发中Objective-C使用正则表达式进行匹配的方法
- 《java入门第一季》之类(Object类)
- 《java入门第一季》之类(Object类)
- OBJ-C NSArray + NSDictionary学习笔记
- Java变参、C/C++/Objective_C变参
- 使HTML5 localStorage及sessionStorage支持储存Array OR Object
- 使HTML5 localStorage及sessionStorage支持储存Array OR Object
- 关于EnumerateObjectsUsingBlock和for-in之间的较量