2012-04-11 9 views
0

NSCodingプロトコルのデフォルト保存場所は何ですか?Cocoa - NSCodingはどこに保存されますか?

また、このような既定の場所を.appファイルが保存されているフォルダに変更する方法はありますか。

+3

あなたはこのドキュメンタリーをお読みください:https://developer.apple.com/library/mac /#documentation/Cocoa/Conceptual/Archiving/Archiving.html#//apple_ref/doc/uid/10000047i – CarlJ

答えて

1

あなたが直接このようNSKeyedArchiver

を使用してファイルにNSCodingに従って符号化されたあなたのエンコード対象のデータ書き込みをすることができます:あなたは(あなたが文書に設定することが、あなたのファイルの場所を選択することができますfilename

BOOL result = [NSKeyedArchiver archiveRootObject:yourObject toFile:filename]; 

をiOSの場合はディレクトリ)。

EDIT 1: あなたは... NSUserDefaultにで保存したい場合:

NSData *yourObjectAsNSData = [NSKeyedArchiver archivedDataWithRootObject:yourObject]; 
[[NSUserDefaults standardUserDefaults] setObject:yourObjectAsNSData forKey:@"aKey"] 
+0

archivedDataWithRootObject:オブジェクトを使用するとどうなりますか? toFile:パラメータは引き続き適用されますか? 私はそれを試しましたが、うまく動作しませんでした。ありがとう! – Kevin

+0

試行: NSString * path = @ "file"; \t [[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archiveRootObject:array toFile:path] forKey:@ "savedArray"]; これは、EXC_BAD_ACCESSエラー+キャストなしで整数からポインタを作成中であることを警告します。 – Kevin

+1

間違っています。 NSUserDefaultsにBOOLの "結果"を格納しようとします。それはクラッシュする!私は私の答えを更新します。 –

関連する問題