0

こんにちは、ドキュメント フォルダーの plist に NSDictionary を書き込もうとしていますが、書き込めません。False を返す writeToFile:atomically: メソッドを使用しています。完全なコードは

-(void)writeData:(NSDictionary *)dicResponseData
{
    // get paths from root directory

    NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
    // get documents path
    NSString *documentsPath = [paths objectAtIndex:0];
    // get the path to our Data/plist file
    NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Contractors.plist"];   

    [dicResponseData writeToFile:plistPath atomically: TRUE];  
}

ディクショナリには 25 のサブディクショナリが含まれています。

4

1 に答える 1

1

ディクショナリ内のすべてのオブジェクトは、プロパティリストオブジェクトである必要があります。

このメソッドは、ファイルを書き出す前に、含まれているすべてのオブジェクトがプロパティリストオブジェクト(NSData、NSDate、NSNumber、NSString、NSArray、またはNSDictionaryのインスタンス)であることを再帰的に検証し、すべてのオブジェクトがプロパティリストオブジェクトでない場合はNOを返します。結果のファイルは有効なプロパティリストではありません。

于 2012-05-31T21:39:55.860 に答える