新しいフォルダーの曲が選択されるまで、曲のプレイリストを保持するために、音楽プレーヤー ビュー コントローラーがデリゲート (曲を含むクラウド ベースのストレージ) を保持する必要があるアプリケーションの問題に遭遇しました。
そのため、ユーザーがフォルダー内の曲をタップすると、デリゲートをその ViewController に割り当てて、デリゲートがビューからプッシュされた場合でもメモリ内にとどまり、音楽プレーヤーが次の曲と前の曲を再生できるようにします。しかし、ユーザーが別のフォルダー (ViewController) から曲を選択すると、音楽プレーヤーのデリゲートを nil に設定し、デリゲートをその新しい ViewController に割り当てます。
この解決策は受け入れられますか?
コード:
MusicPlayerViewController には次のものがあります。
@property (nonatomic, strong) id <MusicPlayerViewDelegate> delegate;
曲をクラウド ストレージ フォルダーからロードするビュー コントローラーでは、セル (曲) をタップすると次のように呼び出されます。
musicPlayerViewController.delegate = nil;
musicPlayerViewController.delegate = self;