0

我以前没有遇到过这个问题,但我想知道是否可以在 Objective-C / Cocoa Touch 中存储带有特殊字符的 KEYS

由于可以使用 \n 在 NSString 中强制换行,因此我想将一些值存储在 plist 中(并且它们确实需要成为键)。我不想使用 sqlite 的静态数据(嗯,键,值是保存到文件中的 NSNumber)只有大约 20 行,所以它可以是字典或静态数组,我可以保存到磁盘。

这是 .plist 替代文本 http://www.davidhomes.net/plist.png

因此,当我尝试为没有特殊字符的任何键设置值时,一切都很好。但尝试设置,例如,“腿宽\n 或高度”返回

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

作为参数 a NSString = @"Leg Width\n or Height"

任何帮助表示赞赏

最好的问候大卫

4

1 回答 1

1

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

因此,对于 entry Leg Width\n or Height,要使用的键是

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

请注意,您在 plist 条目中放置了文字反斜杠。

于 2010-07-07T15:46:20.637 回答