我正在使用xml解析器来填充数组。此字符串:'Calle MaredeDéude“在[NSPlaceholderString initwithstring:]
生成例外。在Snow Leopard(10.6)上,它会报告一个nil参数,而在Leopard(10.5)上它会抛出一个异常但报告没有错误。
当我用'Calle Mare de Deu de'替换字符串'Calle MaredeDéude'时,它可以正常工作。问题是由'é'字符引起的。
NSString是否不支持此字符和其他特殊字符?
由于 迪皮卡乌达
答案 0 :(得分:3)
异常发生NSPlaceholderString initwithstring:]雪上跳跃的nil参数和leapord异常发生,但警报没有发生。
您收到一个异常,告诉您传递了nil
参数,因为您传递了nil
参数。
你在那里传递的字符串是nil
。这与字符串的编码无关,原因有两个:
nil
。)此外,如果您有一个要传递给initWithString:
的字符串,则不需要使用initWithString:
创建字符串,因为您已经拥有该字符串。如果您想复制它,您只需发送copy
消息即可。
我们不知道你已经拥有什么,这是非常重要的。请编辑您的问题,以包含从数据库或XML解析器中获取“字符串”的代码,并将其传递给initWithString:
。
仅仅由于'é',意味着我想知道NSString是否不支持'é'或任何其他字符
NSString支持Unicode中的所有字符。在实践中,这意味着所有这些。