gpt4 book ai didi

ios - NSPredicate 通过选择带有 Beginswith 的键来获取 NSDictionary 的值

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:36:32 25 4
gpt4 key购买 nike

我必须管理这个给定的丑陋的 xml 结构。我如何查询所有以“Key”开头/包含“Key”的 Key-Tags?

Xml 结构:

<Data>
<Rec>
<Key1>0001</Key1>
<Key2>0015</Key2>
<Key3>0002</Key3>
<Key4>0022</Key4>
...
</Rec>
<Rec>
<Key1>0015</Key1>
<Key2>0022</Key2>
<Key3>0002</Key3>
<Key4>0001</Key4>
...
</Rec>
...
</Data>

录制对象结构:

@interface Rec : NSObject
@property (nonatomic, copy) NSMutableDictionary *content;
@end

这里是我的代码,可以在 Key1 上进行选择:

predicateRecs = [NSPredicate predicateWithFormat:@"content.%K == %@", @"Key1", @"0001"];

[result addObjectsFromArray:[recs filteredArrayUsingPredicate: predicateRecs]];

recs 是 NSArray 的一种类型,包含 Rec - 对象。%K 需要能够执行如下操作:content.@allKeys BEGINSWITH %@ == %@ ,@"Key", @"0001"`

我想获取所有具有值的键,例如0001我该怎么做?

谢谢

最佳答案

我会根据您的评论使用子查询:

predicateRecs = [NSPredicate predicateWithFormat:@"SUBQUERY(FUNCTION(SELF, 'allKeys'), $k, SELF[$k] beginswith[cd] %@ AND SELF[$k] == %@).@count > 0", @"Key",@"0001"];

Dave DeLong 是谓词大师: http://www.mactech.com/sites/default/files/Dave_DeLong-Power_Of_Predicates.pdf

当然还有: https://stackoverflow.com/a/5570510/312312

关于ios - NSPredicate 通过选择带有 Beginswith 的键来获取 NSDictionary 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21766548/

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