- 936 名前:925 mailto:sage [2008/10/18(土) 06:12:47 ID:Z6oi/mZ20]
- カテゴリを実装
@implementation NSString (CardDocument) - (NSString *)UnicodeString { NSData *data = [self dataUsingEncoding:NSUTF8StringEncoding]; return [[[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding] autorelease]; } @end NSString *string = [[hogeDictionary descriptionInStringFileFormat] UnicodeString]; NSLog(string); [string writeToFile:@"/Users/admin/Desktop/hoge.txt" atomically:NO encoding:NSUTF8StringEncoding error:nil]; これでplistとして読み可能な形でテキストファイルに日本語表示のまま保存することができました。 NSLogで確認できますが、辞書の中身がちゃんと日本語で表示されています。 もちろん辞書に対してdescriptionでもいいですが、今回はOPNESTEP形式にしたかったのでdescriptionInStringFileFormatを用いています。 辞書の中にNSDateが入っていると書き出したファイルを読み込みできなくなるのでNSDateはdescriptionWithLocaleなどしておく必要があります。 そうするとProperty List Editorで開いた時にNSDateではなくNSString扱いになってしまいますが、Porperty List Editorから書き出し時にフォーマットをText Property Listにした場合も同じようにNSDateはNSStringに変換されてしまうので仕方ないかと。 とりあえずこれはこれで良いとして、XMLを使う方向での可能性も探っていきたいと思います。みなさま御助言ありがとうございました。
|

|