iphone - CLGeocoder 中的 Unicode 字符

标签 iphone objective-c ios xcode unicode

我有一个搜索栏,您可以在其中搜索城市/国家/地区。我测试了一下并搜索了东京。我的结果显示在搜索显示 Controller 的 TableView 中。这是我搜索“东京”时得到的示例,显示在表格 View 单元格中:

This is a <code>UITableViewCell</code>

我有一个组合了单元格标题和副标题的字符串。然后我对该字符串进行反向地理编码,但是我收到一个错误,因为它无法识别“Tokyo”,因为字母“”是一个 unicode 字符。

那么有没有办法将这个字符串/'o' 转换为常规的 'o' 或没有 unicode 字符?或者有没有办法让 CLGeocoder 能够对这些类型的字符进行地理编码

谢谢!

最佳答案

恕我直言,您需要删除字符串中的所有变音符号。

参见 CFMutableString 引用文档:

Boolean CFStringTransform (
   CFMutableStringRef string,
   CFRange *range,
   CFStringRef transform,
   Boolean reverse
);

transform参数设置为kCFStringTransformStripDiacritics:

NSMutableString *StripDiacritics(NSString *string)
{
    CFMutableStringRef stringRef = (__bridge_retained CFMutableStringRef)[string mutableCopy];
    CFRange range = CFRangeMake(0, CFStringGetLength(stringRef));
    CFStringTransform(stringRef, &range, kCFStringTransformStripDiacritics, false);
    NSMutableString *result = (__bridge_transfer NSMutableString*)stringRef;
    return result;
}

关于iphone - CLGeocoder 中的 Unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12649487/

相关文章:

ios - GPSDictionary 返回 nil,uiimage 的元数据中没有 exif 位置数据

iphone - 无法以编程方式打开电话应用程序

ios - 如何以编程方式设置属性 "Retina Display Off"?

ios - 核心数据如何更新一条记录?

ios - NSDictionary 值发生变化而无需任何修改

ios - 点击 UITextField 时既不会出现键盘也不会出现光标

iphone - iPhone应用程序崩溃:在开发中工作正常,但从iTunes下载时崩溃

iphone - 过早调用 Dealloc 方法

ios - UILabel 中的 iOS 值中的 UIStepper

ios - whatsapp 如何在 iOS 中更快地从通讯录中获取更新的联系人?