0

この質問への回答を使用しNSArrayてファイルに保存しています。ただし、配列を取得できません。0x00000000次の操作を行うと、取得しboundariesた配列を取得しています。

保存する:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"boundaries"];

[array writeToFile:filePath atomically:YES];

取得するには:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"boundaries"];

NSArray *boundaries = [NSArray arrayWithContentsOfFile:filePath];

これで何か問題がありますか?配列を保存すると、配列は正しいデータでいっぱいです。

保存を試み[myArray description]て、保存して正常に取得しましたが、データは明らかに私が持ちたいものとは異なります。配列に 8 つの double を保存しています。

4

2 に答える 2

2
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"boundaries"];

[array writeToFile:filePath atomically:YES];

この「配列」変数はどこから来たのですか?

とにかく、double を NSArray に直接保存することはできません。これらの double を NSNumber として保存する必要があります。このような:

[[NSNumber alloc] initWithDouble:doubleNumber];
于 2013-08-27T08:34:19.017 に答える