Зачем начинать музыку в -viewDidLoad
?Поместите его в инициализатор вашего контроллера.Если вы просто создаете его в XIB и еще не переопределили инициализатор, внедрите -initWithCoder:
, например:
- (id)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if(self)
{
[self playBgMusic];
}
return self;
}
... или если вы выделяете / инициализируете его вручную,сделать то же самое, но с -init
(или любым другим настроенным вами инициализатором).Таким образом, музыкальный проигрыватель запустится только тогда, когда вы впервые создадите контроллер представления, который по звуку этого вы, вероятно, делаете только один раз.