NSBatchUpdateRequest将字符串转换为unicode

时间:2015-06-07 11:01:21

标签: ios core-data

我正在使用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字符串而不是阿拉伯字符串。

1 个答案:

答案 0 :(得分:0)

默认情况下,字符串是Unicode,如果您希望它们是阿拉伯语,您可能需要使用CFStringTransform转换它们。有一篇很好的文章详细介绍了如何在NSHipster上实现这一目标。

基本上,就是这个电话:

CFStringTransform(mutableString, nil, kCFStringTransformToLatin, Boolean(0))

更多信息: CFStringTransform