0

writeToFile は非オブジェクトでは機能しないという説明を見てきましたが、このスニペットは、iPad デバイスで機能するものとシミュレーターが機能する方法に深刻なギャップがあることを示しています。

NSMutableArray *arrayOne = [NSMutableArray arrayWithObjects:@"Thing One", @"Thing Two", @"Thing Three", nil];
[arrayOne writeToFile:@"myLocalMovieMetaData-v11" atomically:YES];
NSLog(@"cancelNowButton Test Metadata File Written.");  
NSMutableArray *arrayTwo = [NSMutableArray arrayWithContentsOfFile:@"myLocalMovieMetaData-v11"];
NSLog(@"arrayOne: %@",arrayOne);
NSLog(@"arrayTwo: %@",arrayTwo);  //this prints on simulator but not the device.
4

1 に答える 1

3

アプリケーションには、Documentsディレクトリへの書き込み権限しかありません。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myLocalMovieMetaData-v11"];

次に、以下を使用します。

[arrayOne writeToFile:path atomically:YES];
于 2011-01-10T23:23:29.177 に答える