gpt4 book ai didi

objective-c - 从自定义类填充数组的最简单方法?

转载 作者:行者123 更新时间:2023-12-03 22:47:51 24 4
gpt4 key购买 nike

假设您有一个 Person 类(包含姓名、年龄等)和一个名为 PeopleArray 的数组,其中包含多个单独的 Person。

提取每个人的姓名(例如)并将其放入数组中的最简单方法是什么。伪代码是:

nameArray = every Person's name, from the array PeopleArray

最佳答案

编辑:我找到了比我之前发布的答案更好的解决方案

NSArray* names = [peopleArray valueForKey: @"name"];

将 -name 发送到 peopleArray 的每个元素并构建一个新的结果数组

Documentation

一种方法,使用快速枚举:

NSMutableArray* nameArray = [[NSMutableArray alloc] init];
for (Person* person in peopleArray)
{
[nameArray addObject: [person name]];

}

另一种方式,将我的答案与我之前发布的相同答案区分开来:-)

在 Person 上创建一个名为 addNameToArray: 的方法并使用 makeObjectsPerformSelector:

// Person.m

-(void) addNameToArray: (id) aMutableArray
{
[aMutableArray addObject: [self name]];
}

// where you want to add the names

NSMutableArray* nameArray = [[NSMutableArray alloc] init];
[peopleArray makeObjectsPerformSelector: @selector(addNameToArray:) withObject: nameArray];

令人失望的是,似乎没有与 map 函数等效的函数。

关于objective-c - 从自定义类填充数组的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3203753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com