NSArray предоставляет вам два способа сделать именно то, что вы хотите: initWithContentsOfFile:
и writeToFile:atomically:
Короткий пример может выглядеть следующим образом:
//Creating a file path under iOS:
//1) Search for the app's documents directory (copy+paste from Documentation)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
//2) Create the full file path by appending the desired file name
NSString *yourArrayFileName = [documentsDirectory stringByAppendingPathComponent:@"example.dat"];
//Load the array
NSMutableArray *yourArray = [[NSMutableArray alloc] initWithContentsOfFile: yourArrayFileName];
if(yourArray == nil)
{
//Array file didn't exist... create a new one
yourArray = [[NSMutableArray alloc] initWithCapacity:10];
//Fill with default values
}
...
//Use the content
...
//Save the array
[yourArray writeToFile:yourArrayFileName atomically:YES];
Спасибо! Один вопрос будет 'writeToFile:' создать новый файл с массивом на указанном пути? – Joshua
Да. Одно предупреждение: массив должен быть допустимым списком свойств, а это значит, что все его содержимое (и их содержимое, когда это необходимо) также должны быть списками свойств. –
Я вижу, это должно быть хорошо. Итак, когда я загружаю Array с помощью 'initWithContentsOfFile:' должен ли я предоставить путь непосредственно файлу, и если да, то что он будет вызываться? – Joshua