如果数组是某个对象(您的视图或视图控制器)的属性,您可以使用KVC来获取它:
NSArray *myArray = [self valueForKey:myString];
但这确实是不好的做法。为什么不将所有按钮放入一个数组中。将您NSMutableArray
的 s 放入第二个相同大小的数组中。然后你可以通过索引来引用它们。
在您的标题中:
@property (nonatomic) NSArray *buttons;
@property (nonatomic) NSArray *arrays;
在您的实现中,在创建按钮或从 nib 文件加载它们之后(因此这可能应该进入viewDidLoad
或awakeFromNib
):
self.button = @[button1, button2, button3 ... ];
self.arrays = @[array1, array2, array3 ... ];
然后,当用户点击按钮时:
- (IBAction)buttonTapper:(id)sender {
UIButton *button = (UIButton *)sender;
NSUInteger index = [self.buttons indexOfObject:button];
NSMutableArray *theArray = [self.arrays objectAtIndex:index];
// do something with the selected array.
}