在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]; 

存储firstNameArraylastNameArray一个可变数组NSMutableArray

使用Fast Enumeration 。 假设数组是你提供的数组

 for (NSDictionary *item in array) { [firstNameArray addObject:[item objectForKey:@"firstName"]]; [lastNameArray addObject:[item objectForKey:@"lastName"]]; } 

firstNameTextFieldinput数据后,点击button

button操作方法的实现

 -(IBAction)btnClicked:(id)sender { NSInteger index = [firstName indexOfObject:[firstNameTextField text]]; [lastNameTextField setText:[lastName objectAtIndex:index]]; }