gpt4 book ai didi

objective-c - 用另一个数组过滤的数组(CS 和谓词)

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

下面的代码打印下面一行:


TestApp[1156:207] Array: (
"Type A"
)

但这是不对的。 NSPredicate 应该忽略大小写敏感。
有谁知道我做错了什么?

    NSArray *array = [[NSArray alloc] initWithObjects:[[TestObject alloc] initWithType:@"Type A"],
[[TestObject alloc] initWithType:@"Type B"],
[[TestObject alloc] initWithType:@"Type C"],
[[TestObject alloc] initWithType:@"Type D"],
[[TestObject alloc] initWithType:@"Type E"], nil];

NSArray *filter = [[NSArray alloc] initWithObjects:@"Type A", @"Type d", nil];

NSPredicate *predicate = [NSPredicate predicateWithFormat: @"SELF.type IN[cd] %@", filter];

NSLog(@"Array: %@", [array filteredArrayUsingPredicate:predicate]);

最佳答案

此线程中提出了类似的问题:Case insensitive NSPredicate for strings from an array?

IN好像不支持[c]修饰符。您的案例的解决方案是更改查询,例如使用 CONTAINS。

[NSPredicate predicateWithFormat: @"ANY %@ CONTAINS[cd] SELF.type", filter]

关于objective-c - 用另一个数组过滤的数组(CS 和谓词),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9101240/

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