gpt4 book ai didi

ios - 如何根据ios中的特定键从数组中获取字典

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

您好,在我的应用程序中,我有一个包含一组字典的数组。每个字典都有三个键值对。三分之二是开始日期和结束日期。现在我想传递一个日期并让它从一个数组中获取一个字典,其中日期将介于开始日期和结束日期之间。如果日期不在开始日期和结束日期的范围内,则必须检查另一个字典并必须获取该字典。任何人都可以帮助我做到这一点。

日期 (DD/MM/YYYY): 13/04/2014

开始日期: 2014 年 3 月 4 日

结束日期:2014 年 4 月 31 日

字典:

NSDictionary *dic=[[NSDictionary alloc]initWithObjectsAndKeys:@"0",@"Scode",@"01-04-2014",@"StartDate",@"15-04-2014",@"EndDate",nil];
NSDictionary *dic1=[[NSDictionary alloc]initWithObjectsAndKeys:@"1",@"Scode",@"16-04-2014",@"StartDate",@"25-04-2014",@"EndDate",nil];
NSDictionary *dic3=[[NSDictionary alloc]initWithObjectsAndKeys:@"2",@"Scode",@"26-04-2014",@"StartDate",@"30-04-2014",@"EndDate"nil];

结果:

 NSPredicate *predicateName;
predicateName=[NSPredicate predicateWithFormat: @"StartDate <=%@ && EndDate >=%@",date,date];
NSArray *arrResult=[tempArray filteredArrayUsingPredicate:predicateName];
NSMutableArray *arrSearchResults = [[NSMutableArray alloc]initWithArray:arrResult];

如果日期是 1-4-2014 arrSearchResults 是:

({
EndDate = "15-04-2014";
StartDate = "01-04-2014";
SCode = 0;
})

如果日期是 2-04-2014 arrSearchResults 是:

({
EndDate = "25-04-2014";
StartDate = "16-04-2014";
SCode = 1;
})

最佳答案

请检查答案:

    NSMutableArray *arr=[[NSMutableArray alloc]init];

NSDictionary *dic=[[NSDictionary alloc]initWithObjectsAndKeys:@"0",@"Scode",@"01-04-2014",@"StartDate",@"15-04-2014",@"EndDate",nil];

NSDictionary *dic1=[[NSDictionary alloc]initWithObjectsAndKeys:@"1",@"Scode",@"16-04-2014",@"StartDate",@"25-04-2014",@"EndDate",nil];

NSDictionary *dic2=[[NSDictionary alloc]initWithObjectsAndKeys:@"2",@"Scode",@"26-04-2014",@"StartDate",@"30-04-2014",@"EndDate",nil];

[arr addObject:dic];
[arr addObject:dic1];
[arr addObject:dic2];

NSPredicate *predicateName;
predicateName=[NSPredicate predicateWithFormat: @"StartDate <=%@ && EndDate >=%@",@"02-04-2014",@"02-04-2014"];
NSArray *arrResult=[arr filteredArrayUsingPredicate:predicateName];
NSMutableArray *arrSearchResults = [[NSMutableArray alloc]initWithArray:arrResult];

arrSearchResults 将是结果。

将 02-04-2014 日期替换为您要应用过滤器的日期。

关于ios - 如何根据ios中的特定键从数组中获取字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23098647/

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