在NSMutableArray中按名称查找对象

Mufc

我有一个具有personName,lastName和age属性的普通人对象。我将用户输入存储到NSMutableArray中,我想在数组中按他/她的名字查找under。我曾尝试找到许多不同的解决方案,但都没有真正起作用。

这是我的main.m

    @autoreleasepool {
        char answer;
        char locatePerson[40];
        //Create mutable array to add users for retrieval later
        NSMutableArray *people = [[NSMutableArray alloc] init];

        do{
            Person *newPerson = [[Person alloc]init];
            [newPerson enterInfo];
            [newPerson printInfo];
            [people addObject:newPerson];

            NSLog(@"Would you like to enter another name?");
            scanf("\n%c", &answer);

        }while (answer == 'y');

        NSLog(@"Are you looking for a specific person?");
        scanf("%c", locatePerson);

        //This is where I need help
        int idx = [people indexOfObject:]

    }

这是非常基础的,但是我对Objective-C还是陌生的,我想尝试通过名称查找用户。我见过的解决方案已经使用了该indexesOfObjectsPassingTest方法。但是我想知道是否可以仅使用indexOfObject我在那里找到人的名字的方法?

任何帮助表示赞赏。

亚当·埃伯巴赫

这是一些前期设计应避免的难题之一。如果您知道要将内容放入集合类中,并且需要根据某些属性(而不是按插入顺序)再次将其取出,则字典是最有效的集合类。

您可以使用以Person的name属性作为键的NSDictionary。您仍然可以遍历所有对象,但是可以避免搜索整个集合。在NSArray中找到匹配的属性可能会花费惊人的时间!您甚至不必更改您的Person对象,只需执行

NSDictionary *peopleDictionary = @{ person1.name : person1, person2.name : person2 };

或在将它们创建到NSMutableArray中时将它们一个接一个地添加。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在pyqt中按名称查找对象?

来自分类Dev

R:在深层嵌套列表中按名称查找对象

来自分类Dev

在Java中按字段名称查找对象的值

来自分类Dev

按值在深层嵌套对象中查找对象

来自分类Dev

Qt:按属性在列表中查找对象

来自分类Dev

在数组Ramda中按ID查找对象

来自分类Dev

在Rails 4 App中按ID查找对象

来自分类Dev

在数组数组中按 id 查找对象的索引

来自分类Dev

如何按属性在python列表中查找对象

来自分类Dev

使用其属性名称在javascript中查找对象的索引

来自分类Dev

在列表中查找对象

来自分类Dev

在列表中查找对象

来自分类Dev

PHP OOP按属性查找对象

来自分类Dev

从Java中的嵌套对象列表中按ID查找对象

来自分类Dev

在复杂对象中查找对象

来自分类Dev

查找对象时,如何按表中的字段对其获取的子对象进行排序

来自分类Dev

在HTML解析器中按类或ID查找对象

来自分类Dev

lodash /下划线按数组值中的键查找对象

来自分类Dev

如何在Django Rest Framework中按其ID查找对象

来自分类Dev

lodash /下划线按数组值中的键查找对象

来自分类Dev

在iOS中从x,y查找对象

来自分类Dev

从地图内的列表中查找对象

来自分类Dev

使用find()在JSON中查找对象

来自分类Dev

从地图内的列表中查找对象

来自分类Dev

在JSON文件中查找对象属性

来自分类Dev

了解在数组中查找对象

来自分类Dev

使用RegExp在JSON中查找对象

来自分类Dev

在数组中查找对象

来自分类Dev

查找对象时javafx中的NullPoinerException