选中DownPicker选项时,如何获取NSMutableArray索引值以匹配对应代码?
解决DownPicker选中选项时获取数组索引的问题
嗨,这事儿好办!要拿到选中项的索引来匹配对应的国家代码,你只需要利用DownPicker的代理方法就行,具体步骤如下:
1. 遵守DownPicker代理协议
首先在你的ViewController头文件里声明遵守DownPickerDelegate协议:
@interface YourViewController : UIViewController <DownPickerDelegate>
2. 设置DownPicker的代理
在viewDidLoad里,给你的DownPicker实例设置代理(假设你的DownPicker叫countryDownPicker):
- (void)viewDidLoad { [super viewDidLoad]; // 初始化数组(你已有的代码) countryMArray = [[NSMutableArray alloc] init]; codeMArray = [[NSMutableArray alloc] init]; // 假设这里已经填充了国家和代码数据,比如: [countryMArray addObjectsFromArray:@[@"中国", @"美国", @"日本"]]; [codeMArray addObjectsFromArray:@[@"CN", @"US", @"JP"]]; // 初始化DownPicker并设置代理 countryDownPicker = [[DownPicker alloc] initWithTextField:yourTextField options:countryMArray]; countryDownPicker.delegate = self; // 关键:设置代理 }
3. 实现代理方法获取选中索引
实现DownPickerDelegate的downPicker:didSelectRow:方法,这个方法会返回选中项的行号(也就是数组的索引),你直接用这个索引去codeMArray里取对应的代码就行:
- (void)downPicker:(DownPicker *)downPicker didSelectRow:(NSInteger)row { // row就是选中项在countryMArray里的索引 NSString *selectedCode = codeMArray[row]; NSLog(@"选中的国家代码是:%@", selectedCode); // 这里可以把代码用在你需要的地方,比如赋值给变量、展示到界面等 }
这样一来,用户每次选择国家时,你就能通过返回的row索引精准匹配到对应的代码啦!
内容的提问来源于stack exchange,提问作者Hanz Cheah
相关产品推荐
相关产品推荐

