所以问题很小。我有NSString我的实体的一个属性。当我在英文CoreData上使用字符串时,它使用相同的符号存储它。但是使用不同的语言,它开始将字符串存储为:
"\U041c\U0430\U0440\U0442\U0438\U043d - \U0427\U0438\U0441\U0442\U044b\U0439 \U043a\U043e\U0434.2010.pdf"
那么问题是什么:当然我使用谓词来获取一些实体,如果谓词等于字符串,那么它返回我的对象。但是当我使用非英文符号时,我会收到错误,因为核心数据会自动将符号转换为花药字符串(不包括英文)。
那么修复它的步骤是什么?在使用谓词之前是否需要检查语言?还是有另一个可以帮助我的简单解决方案吗?
所以谓词看起来像:
NSPredicate *谓词 = [NSPredicate predicateWithFormat:@“%K ==%@ AND \ %K ==%@“, kPNFolder_Path,folderPath, kPNFile_FileName,@“中国符号或西里尔符号”];
但核心数据存储它,如上所述。当然它不会返回任何值,因为没有匹配,因为在为实体设置值之后会对unicode进行会话符号。