在Xcode中通过比较string从NSArray中selectindexOfObject
您好,我有Xcode中的NSarray
值。 我需要通过比较string值来获取数组indexOfObject。 我的数组值是
( { firstName = lord; lastname = krishna; }, { firstName = priya; lastname = amirtha; } )
如果我在文本字段中键入名字,并单击button意味着姓氏要显示在另一个文本字段。
谢谢。
要回答你的问题的标题:
NSString *compareString = @"something"; NSMutableArray *indexesOfMatches = [[NSMutableArray alloc]init]; for (NSString *string in theArray) { if ([string isEqualToString:compareString]) { NSNumber *index = [[NSNumber numberWithInterger:[theArray indexOfObject:string]]; [indexOfMatches addObject:index]; } } //indexOfMatches will now contain NSNumber objects that represent the indexes of each of the matching string objects in the array
我认为使用NSDictionary会更好,但你。 然后,您可以简单地保留第一个和最后一个名称作为键值对。
NSDictionary *names = @{@"lord" : @"krishna", @"priya" : @"amirtha" };
那么当你得到第一个名字的时候你就可以为键值:
NSString *firstName = @"lord"; NSString *lastName = [names valueForKey:firstName];
存储firstNameArray和lastNameArray一个可变数组NSMutableArray
。
使用Fast Enumeration
。 假设数组是你提供的数组
for (NSDictionary *item in array) { [firstNameArray addObject:[item objectForKey:@"firstName"]]; [lastNameArray addObject:[item objectForKey:@"lastName"]]; }
在firstNameTextField
input数据后,点击button
button操作方法的实现
-(IBAction)btnClicked:(id)sender { NSInteger index = [firstName indexOfObject:[firstNameTextField text]]; [lastNameTextField setText:[lastName objectAtIndex:index]]; }