我正在使用NSBatchUpdateRequest
更新核心数据内容。我使用以下代码:
NSBatchUpdateRequest *req = [[NSBatchUpdateRequest alloc]initWithEntityName:@"Mostvisited"];
req.propertiesToUpdate = @{@"newsCategory":self.newsCategory,@"newsCommentsCount":self.newsCommentsCount,@"newsDate":self.newsJalaliDate,@"newsID":self.newsID,@"newsLead":self.newsLead,@"newsPhotoLink":self.newsPhotoLarge,@"newsTitle":arr,@"newsType":self.newsType,@"timeStamp":[NSDate date]
};
req.resultType = NSUpdatedObjectIDsResultType;
NSBatchUpdateResult *result = (NSBatchUpdateResult *)[context executeRequest:req error:nil];
NSLog(@"objects update:%@",result.result);
作为更新传递的所有对象都是NSArray
,其中包含阿拉伯语NSString
。令人惊讶的是,当我在更新后获取核心数据的内容时,我得到的是Unicode字符串而不是阿拉伯字符串。
答案 0 :(得分:0)
默认情况下,字符串是Unicode,如果您希望它们是阿拉伯语,您可能需要使用CFStringTransform转换它们。有一篇很好的文章详细介绍了如何在NSHipster上实现这一目标。
基本上,就是这个电话:
CFStringTransform(mutableString, nil, kCFStringTransformToLatin, Boolean(0))
更多信息: CFStringTransform