gpt4 book ai didi

ios - 根据条件从数组中获取对象

转载 作者:行者123 更新时间:2023-11-29 11:15:13 26 4
gpt4 key购买 nike

在我的应用程序中,我有如下实体类:

#import <Foundation/Foundation.h>

@interface classAbc : NSObject
{
NSString *strTitle;
int iId;


}

@property(nonatomic, retain) NSString *strTitle;
@property(nonatomic) int iId;
@end

在我的 NSMutableArray 中,我正在存储此类的对象,例如:

classAbc *objAbc=[[classAbc alloc] init];
objAbc.iId=1;
objAbc.strTitle=@"Title 1";

classAbc *objAbc1=[[classAbc alloc] init];
objAbc1.iId=2;
objAbc1.strTitle=@"Title 2";

NSMutableArray *arrTemp=[[NSMutableArray alloc] initWithObjects:objAbc,objAbc1,nil];

[objAbc release];
[objAbc1 release];

现在运行时我想根据 objAbc.iId 条件从这个数组中检索对象,例如:

例如,如果 arrTemp 包含其 iId 值为 2 的对象。

除了 for 循环迭代之外,还有谁能推荐其他方法吗?随着对象数量的增加,for 循环将花费大量时间来找到它。

提前致谢。

最佳答案

我建议您使用 NSMutableDictionary 来存储您的对象,其中键是对象的 ID,值是对象本身。如果您不介意订单,请使用此方法。

classAbc *objAbc=[[classAbc alloc] init];
objAbc.iId=1;
objAbc.strTitle=@"Title 1";

classAbc *objAbc1=[[classAbc alloc] init];
objAbc1.iId1=2;
objAbc1.strTitle1=@"Title 2";


NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:objAbc1 forKey:objAbc1.iId1];

.
.
.

classAbc *abc = (classAbc*)[dict objectForKey:[NSNumber numberWithInt:2]];

注意:将 id 从 int 类型更改为 NSNumber 类型,以便将其存储为键

关于ios - 根据条件从数组中获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9756760/

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