陈斌彬的技术博客

Stay foolish,stay hungry

makeObjectsPerformSelector 方法的用法

NSArray 类定义的方法

1. makeObjectsPerformSelector:@select(aMethod)

简介:让数组中的每个元素 都调用 aMethod

2. makeObjectsPerformSelector:@select(aMethod)withObject:oneObject

简介:让数组中的每个元素 都调用 aMethod 并把 withObject 后边的 oneObject 对象做为参数传给方法aMethod

[array makeObjectsPerformSelector:@selector(setRecurringDelegate:)

                              withObject:self];/*将检测到的该自动插入的交易插入数据库*/



[array makeObjectsPerformSelector:@selector(insertRecursion)]; /*将检测到的该自动插入的交易插入数据库*/





- (void)makeObjectsPerformSelector:(SEL)aSelector;  
- (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)argument;  

这是 NSArray和NSSet的两个方法,相信大家很少用,它类似于 for循环,但有效率高于for循环 makeObjectsPerformSelector:类似于NSNotifation机制,并发的执行同一件事,不能像for循环那样区别对待 所以参数 argument 必须是非基本类型 ,如果要是用基本类型 请转换程 NSNumber 或者NSValue。

用法:如果一个数组objArr中存储了一组有hide属性的对象,需要将数组里所有对象的hide全部赋值为真,就可以这么写:

[objArr makeObjectsPerformSelector:@selector(setHidden:) withObject:@YES];  

不用再去for循环调用隐藏了