2010-07-07 209 views
0

我没有遇到这之前,但我想知道这是否是可能的存储与使用Objective-C /可可触摸特殊字符

特殊字符的按键由于一个可以强制换行一个NSString与\ n我想在plist中存储一些值(而且他们确实需要成为键)。它只有20行左右的静态数据(嗯,键,值是保存到文件的NSNumbers),我不想使用sqlite,所以它可以是一个字典或静态数组,我可以保存磁盘。

这里是的.plist alt text http://www.davidhomes.net/plist.png

所以,当我尝试设置为任意一个键的值没有特殊字符,一切都很好。但是,试图将,比如说,“腿宽\ n或高度”设置返回

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFDictionary setObject:forKey:]: attempt to insert nil key' 

任何帮助表示赞赏这一论证的NSString = @“腿宽\ n或高度”

最好的问候 大卫

回答

1

中的plist编辑器中的字符串是转义字符串。所以,我通常更喜欢使用plist编辑器在plist文件中保留正则表达式。

所以,对于入门Leg Width\n or Height,要使用的关键是

[dict objectForKey:@"Leg Width\\n or Height"] 

注意,你把一个反斜杠在plist中的条目。

+0

或者通过输入option-return在plist编辑器中输入换行符。 – 2010-07-07 15:57:35

+0

嗨,大家好,谢谢你的回复。我和Johan的解决方案一起使用,因为打开plists作为纯文本文件并返回返回值比返回我的代码更快,并将所有调用替换为保存字典的函数,以使scape字符串参数变为未转义 – 2010-07-07 17:48:46