嗨我在Xcode中有NSarray
个值。我需要通过比较字符串值来获取数组indexOfObject。
我的数组值是
(
{
firstName = lord;
lastname = krishna;
},
{
firstName = priya;
lastname = amirtha;
}
)
如果我在文本字段中键入名字,单击按钮表示姓氏要显示在另一个文本字段中 谢谢。
答案 0 :(得分:2)
回答问题的标题:
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];
答案 1 :(得分:0)
将 firstNameArray 和 lastNameArray 存储为可变数组NSMutableArray
。
使用Fast Enumeration
。假设数组是您提供的数组
for (NSDictionary *item in array) {
[firstNameArray addObject:[item objectForKey:@"firstName"]];
[lastNameArray addObject:[item objectForKey:@"lastName"]];
}
在firstNameTextField
中输入数据后,点击按钮
按钮操作方法实现
-(IBAction)btnClicked:(id)sender {
NSInteger index = [firstName indexOfObject:[firstNameTextField text]];
[lastNameTextField setText:[lastName objectAtIndex:index]];
}