大佬教程收集整理的这篇文章主要介绍了core-data – iOS – 当字符串以算术运算符开头时,NSPredicate string.length总是求值为0 – * /,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是,我发现当Comment列以 – *或/开头时,length属性总是计算为0,因此该行将从计数中排除.
我在sqlite浏览器中打开了表,并验证了该列是VARCHAR.使用sqlite查询检查字符串长度可以正常工作(LENGTH(ZComments)> 0),因此这必须是CoreData问题.
这是我的功能……
-(int)getCommentsCount{ NSFetchrequest *request = [[[NSFetchrequest alloc] init] autorelease]; [request seTincludesSubentities:YES]; [request setEntity:[NSEntityDescription entityForName:@"inspectionRecord" inManagedObjectContext:managedObjectContext]]; NSPreDicate *preDicate = [NSPreDicate preDicateWithFormat:@"(comments.length > 0)"]; [request setPreDicate:preDicate]; NSError *err; NSUInteger count = [managedObjectContext countForFetchrequest:request error:&err]; //count is ALWAYS 0 if 'comments' starts with + - * or / WHYYY??? return count; }@H_607_14@我能够通过检查空/空字符串而不是使用.length来解决这个问题,但是我真的很想知道.当字符串以某些字符开头时,.length会失败.
这发生在任何人身上吗?
以上是大佬教程为你收集整理的core-data – iOS – 当字符串以算术运算符开头时,NSPredicate string.length总是求值为0 – * /全部内容,希望文章能够帮你解决core-data – iOS – 当字符串以算术运算符开头时,NSPredicate string.length总是求值为0 – * /所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。