gpt4 book ai didi

objective-c - 通过指定类名从 NSArray 中检索对象

转载 作者:行者123 更新时间:2023-12-03 17:48:45 25 4
gpt4 key购买 nike

任务:

NSArray 返回一个对象,该对象是类的实例,其名称作为函数的参数给出。

现在我有这个功能:

+ (id)objectOfType:(NSString *)name fromArray:(NSArray *)array
{
for (NSObject* instance in array)
{
if ([instance.className isEqualToString:name])
return instance;
}
return nil;
}

但是,考虑到我可以使用 NSArray 上的这个简单方法调用将对象数组转换为对象的类名数组

[array valueForKeyPath:@"className"] 

难道不应该有一种更简洁的方法来检索具有指定类名的对象吗?

最佳答案

这是一个简洁的方法,使用 NSPredicate 和数组过滤。

+ (id)objectOfType:(NSString *)name fromArray:(NSArray *)array {
return [array filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"class == %@", NSClassFromString(name)]].lastObject;
}

关于objective-c - 通过指定类名从 NSArray 中检索对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35389694/

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