Я наткнулся на проблему в своем приложении, где диспетчеру просмотра музыкального плеера нужно сохранить делегата (который является облачным хранилищем с песнями), чтобы сохранить плейлист песни до тех пор, пока не будет выбрана песня из новой папки.Хорошо ли сохранить делегат?
Итак, когда пользователь удаляет песню в какой-либо папке, я назначаю делегат этому ViewController, поэтому, даже когда он выталкивается из представления, он остается в памяти, чтобы музыкальный проигрыватель мог воспроизводить следующие и предыдущие песни. Но когда пользователь выбирает песню из другой папки (ViewController), я устанавливаю делегат музыкального проигрывателя на нуль и назначаю делегат этому новому ViewController.
Является ли это решение приемлемым?
Код:
MusicPlayerViewController имеет:
@property (nonatomic, strong) id <MusicPlayerViewDelegate> delegate;
View Controller, в котором будут загружены песни из папки хранения облако это называется при постукивании по ячейке (песня):
musicPlayerViewController.delegate = nil;
musicPlayerViewController.delegate = self;
Благодарим за консультацию, что ViewController, находящийся в памяти, является DropboxViewController, который извлекает данные из хранилища Dropbox и создает потоковые ссылки для проигрывателя, поэтому мне сложно создать некоторый интеллектуальный шаблон MVC, есть ли у вас какие-то идеи может быть? – vburojevic
Если они спроектировали контроллер своего вида для управления собственным сетевым трафиком, это несчастливо. Там может быть не так много, чтобы это исправить. Они должны иметь 'DropboxController', который отделен от контроллера вида. –