Как мне скопировать существующий plist, который у меня есть в сборке приложения, в каталог Document?
Мой plist - это в основном массив словаря, я успешно скопировал plist в каталог, используя следующее:
BOOL success;
NSError *error;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"States.plist"];
success = [fileManager fileExistsAtPath:filePath];
if (success) return;
NSString *path = [[NSBundle mainBundle] pathForResource:@"States" ofType:@"plist"];
success = [fileManager copyItemAtPath:path toPath:filePath error:&error];
if (!success) {
NSAssert1(0, @"Failed to copy Plist. Error %@", [error localizedDescription]);
}
Однако, когда я пытаюсь получить доступ к NSDictionary, он дает мне:
CoreAnimation: ignoring exception: -[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable object
Почему это так?Я должен снова запустить приложение, и теперь я могу изменить словарь, хранящийся в моем массиве