objective-c – iOS核心数据如何使用谓词正确比较字符串文本?

objective-c – iOS核心数据如何使用谓词正确比较字符串文本?,第1张

概述这实际上让我疯狂. 我有2个实体使用NSStrings作为唯一属性. 创建比较NSStrings的谓词的正确方法是什么? 目前我有:     [NSPredicate predicateWithFormat:@“unique =%@”,uniqueValue]; 我有一种感觉,这比较指针地址,而不是实际的字符串值,但我不能确认.我需要返回yes以进行精确的字符串匹配. -(BOOL)uniqueE 这实际上让我疯狂.

我有2个实体使用Nsstrings作为唯一属性.

创建比较Nsstrings的谓词的正确方法是什么?

目前我有:
[nspredicate predicateWithFormat:@“unique =%@”,uniqueValue];

我有一种感觉,这比较指针地址,而不是实际的字符串值,但我不能确认.我需要返回yes以进行精确的字符串匹配.

-(BOol)uniqueEntityExistsWithEnityname:(Nsstring*)entityname UniqueKey:(Nsstring*) uniqueKey UniqueValue:(Nsstring*)uniqueValue SortAttribute:(Nsstring*)sortDescriptorAttribute ManagedobjectContext:(NSManagedobjectContext*) context;{    BOol returnValue = NO;    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityname:entityname];//what is the correct predates to compare the text an string core data property against a passed in string?    request.predicate = [nspredicate predicateWithFormat:@"unique= %@",uniqueValue];    NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:sortDescriptorAttribute ascending:YES];    request.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];       NSError *error = nil;    NSArray *matches = [context executeFetchRequest:request error:&error];    if (!matches)    {         NSLog(@"Error: no object matches");    }    else if([matches count] > 1) {        NSLog(@"Error: More than one object for unique record");        returnValue = YES;    } else if ([matches count] == 0) {        returnValue = NO;    } else {        returnValue = YES;    }    return returnValue;}
解决方法 在编码方面,单个等号甚至不是比较器.

我将假设unique是一个NSManagedobject属性.

[nspredicate predicateWithFormat:@"unique liKE %@",uniqueValue];

请注意,这是区分大小写的.如果你想让它变得不敏感,那么你可以在liKE之后放[c].

总结

以上是内存溢出为你收集整理的objective-c – iOS核心数据如何使用谓词正确比较字符串文本?全部内容,希望文章能够帮你解决objective-c – iOS核心数据如何使用谓词正确比较字符串文本?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1236865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存