如何 select NSMutableArray 中的特定索引并存储在 nsarray 中

How to select specific index in NSMutableArray and stored in nsarray

我开发了一个简单的应用程序,它使用 NSDictionary 将学生的姓名和 ID 存储到 NSMutableArray 中,我只想在存储到 NSMutableArray 中而不是存储到 NSArray 中后获取姓名

这是我的简单代码

NSDictionary *student1 = [NSDictionary dictionaryWithObjectsAndKeys:
                          @"key1", @"id",
                          @"Joe", @"name",
                          nil];

NSMutableArray *array = [NSMutableArray arrayWithObjects:student1, nil];

请帮我解决这个问题。

因此,如果您要查找特定索引处的名称 (Objective-c)

NSDictionary *student = array[SPECIFIC_INDEX];

NSString *name = student[@"name"];

关于您的问题,假设您有一组学生词典(id 和姓名)并尝试根据姓名过滤该数组。

for dic in array as! [NSDictionary] {
   if dic.objectForKey("name") as! String == "searchyournamehere"
   {
        //name matched perform your operation here
   }
}

缺点:由于多个学生可能有相同的名字,因此根据 id 过滤数组是一个很好的做法(假设它是唯一的),但是您正在搜索多个具有相同名字的学生,上面的代码会有所帮助。

试试这个:

NSDictionary *student1 = [NSDictionary dictionaryWithObjectsAndKeys:
                          @"key1", @"id",
                          @"Joe", @"name",
                          nil];

NSMutableArray *array = [NSMutableArray arrayWithObjects:student1, nil];

NSMutableArray *mArr = [[NSMutableArray alloc]init];
for (NSDictionary *student in array) {
    [mArr addObject:[student objectForKey:@"name"]];
}
NSArray *arr = mArr;
NSLog(@"%@",arr);    //OUTPUT: (Joe)