В моем классе Row у меня есть метод initWithCoder, и все восстановленное в этом методе работает нормально, но только внутри метода. После вызова метода я теряю массив звуков, который находится в моем классе Row. Класс звуков также имеет метод initWithCoder, и звук воспроизводится отлично, но только в методе initWithCoder класса Row. После декодирования объекта Row звуковой массив полностью исчезает и не может быть вызван.Где мои звуки?
Вот мой источник для initWithCoder:
- (id) initWithCoder:(NSCoder *)coder {
...
soundArray = [coder decodeObjectForKey:@"soundArray"];
NSLog(@"%d",[soundArray count]);
return self;
}
журнал показывает количество как 8, как он должен (это в то время как разархивировав). Затем присваивается объект строки, который я создаю. И результирующий объект строки больше не имеет soundArray.
[NSKeyedArchiver archiveRootObject:row toFile:@"DefaultRow"];
...
row = [NSKeyedUnarchiver unarchiveObjectWithFile:@"DefaultRow"];
Так что теперь, когда я вызываю звук, он падает.
//ERROR IS HERE
NSLog(@"%d",[[row soundArray] count]);
Помогите пожалуйста (soundArray - это NSMutableArray).
Вы только что решили все мои проблемы. Спасибо, сэр. –
Dane Man: Не пропустите документацию, с которой вы связались. Прочтите его и прочитайте все. Требуется чтение для каждого программиста Cocoa и Cocoa Touch. –