Поскольку я относительно новичок в мире ООП, мне было интересно, какой хаос я мог бы вызвать, постоянно выделяя что-то для свойства.
У меня есть свойство:
@property (nonatomic, retain) AVAudioPlayer *audioPlayer;
Это затем синтезируется в моем файле viewcontroller.m.Теперь у меня есть метод для инициализации audioPlayer, установив URL для него и тому подобное.Меня беспокоит то, что я вызываю этот метод инициализации каждый раз, когда выбирается новый звук (чтобы позволить пользователю воспроизводить звук из средства выбора):
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
Приведенный выше код показывает строку, котораяВызывается каждый раз, когда изменяется значение средства выбора.
Прежде чем я буду слишком много болтать, выполняет ли приведенная выше строка а) создает НОВЫЙ экземпляр объекта AVAudioPlayer каждый раз, когда я вызываю его, или делает это б) просто «перезаписывает»"уже существующий экземпляр audioPlayer?Если а), я подозреваю, что мог бы убить память довольно быстро;что бы я сделал, чтобы сделать его эффективным?И если б), я думаю, это нормально, тогда?... и если секретный ответ в) (вы совершенно не понимаете, как создаются объекты), то, пожалуйста, пролите свет на мое невежество.
Спасибо!