Сохранить пустой NSArray на диск - PullRequest
1 голос
/ 08 декабря 2011

У меня есть NSMutableArray. Он может быть пустым или иметь несколько объектов propertyList (в моем случае это просто объекты NSNumber). Я хочу сохранить его на диск в формате xml, поэтому я использую.

// In the interface    
@property (nonatomic, retain) NSMutableArray *myArray;

// In the implementation
if ([self.myArray writeToFile:pathToFile atomically:YES])
{
    // Success
} else {
    // Failure
}

Если массив пустой (пустой инициализированный NSMutableArray) в момент вызова метода, метод возвращает NO, а операция не выполняется, поэтому старые данные не перезаписываются.

Как мне записать пустой массив на диск?

1 Ответ

4 голосов
/ 09 декабря 2011

Вы уверены, что self.myArray на самом деле является «пустым инициализированным NSMutableArray»?Для меня указание пустого массива записать себя в файл работает нормально.

Наблюдаемое вами поведение, когда сообщение возвращает NO, соответствует self.myArray, возвращающему nil, что означаетон не является ни пустым, ни непустым, потому что у вас нет массива вообще.Без массива отправлять сообщение не на что, поэтому сообщение возвращает (в данном случае) NO.

Убедитесь, что self.myArray фактически возвращает массив, пустой или нет,в тот момент, когда вы пытаетесь отправить ему сообщение.Код регистрации и выходные данные, которые вы использовали для проверки, было бы здорово добавить к вашему вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...