Я пытался использовать plist для хранения массива с кодом ниже:
NSString *name = firstName.text;
NSString *path = [[NSBundle mainBundle] pathForResource:@"Names" ofType:@"plist"];
NSMutableArray *namesArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
[namesArray addObject:name];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
[paths release];
NSString *docDirPath = [documentsDirectory stringByAppendingPathComponent:@"Names.plist"];
[namesArray writeToFile:docDirPath atomically:YES];
namesArray = [[NSMutableArray alloc] initWithContentsOfFile:docDirPath];
Кажется, этот код работает. Используя NSLog
, я обнаружил, что после выполнения этого кода plist содержит то, что я хочу, однако моя программа падает, поскольку генерирует EXC_BAD_ACCESS
на устройстве, а на симуляторе - просто без объяснения причин. Кто-нибудь знает, почему это может произойти?