iOS - 奇怪的角色打破了我的drawInRect:方法

时间:2012-03-27 21:48:42

标签: ios

我使用drawInRect:将文本绘制到UIView:我从服务器端脚本获取要绘制的文本。在至少一种情况下,字符\ U00a0位于我从服务器接收的字符串中,并且该单个字符正在破坏drawInRect:方法。意思是,它会将所有文本绘制到该角色之前,但不会在该角色之后绘制任何文本。有谁知道这个角色是什么?我做了一些谷歌搜索,并了解到该字符是unicode中的非破坏空间,尽管当我对字符串进行NSLog时,该字符显示为中间点。下面是我从服务器返回的字符串示例。它充满了\ n和\ t(我想要清理的另一件事),但是你可以看到\ U00a0大约一半。

\n\tDescription \n \n\t\U00a0 \n \n\t

任何帮助将不胜感激。如果您可以找到一种方法让我从字符串中删除它,那么奖励积分。

2 个答案:

答案 0 :(得分:1)

看看这个相关问题的答案:

Remove characters from NSString?

我认为您应该能够将您的字符串放入NSMutableString对象,然后使用NSMutableString的replaceOccurencesOfString: withString: options: range:方法删除有问题的字符,只需{{1} }作为要替换的字符串。

答案 1 :(得分:0)

这似乎是使用GTMNSString + HTML.h来转换HTML字符的奇怪副产品。该角色最初实际上是一个非破坏性的HTML空间,并在使用gtm_stringByUnescapingFromHTML的过程中转换为\ u00a0。只要在运行gtm_stringByUnescapingFromHTML之前删除字符串,一切似乎都没问题。