0

これまで遭遇したことはありませんでしたが、Objective-C / Cocoa Touch で特殊文字を含む KEYS を保存できるかどうか知りたかったのです。

\n を使用して NSString で改行を強制できるため、いくつかの値を plist に格納したいと考えました (それらはキーである必要があります)。sqlite を使用したくない静的データ (キー、値はファイルに保存される NSNumbers) には約 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 ファイルに正規表現を保持することを好むことがよくあります。

したがって、エントリのLeg Width\n or Height場合、使用するキーは

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

plist エントリにリテラルのバックスラッシュを入れることに注意してください。

于 2010-07-07T15:46:20.637 に答える