SEL如何保存到NSArray数组中

首先,SEL是不可以保存到array数组中去的。

其次,SEL有两种创建方法:

SEL s1 =  @selector (test1);   // 将test1方法转换为NSString对象
SEL s2 = NSSelectorFromString ( @"test1" );   // 将一个字符串  方法 转换成为SEL对象

NSArray无法保存SEL,但是可以保存NSString。

所以我们利用第二种创建方法,讲SEL的方法名以字符串的方式保存到NSArray数组中即可。

举个栗子:

NSArray * selArr = @[@"gotoSelectCity", @"gotoSelectTitle"];
UITapGestureRecognizer * rightLabelGest = [[UITapGestureRecognizer alloc]initWithTarget:self action:NSSelectorFromString(selArr[i])];