Как управлять объектами в другом контроллере представления? (Xcode: цель-с)
Я делаю своего рода музыкальное приложение, и на главном экране вверху расположены кнопки воспроизведения и другие кнопки. Этот раздел занимает только верхнюю часть представления, так как другая часть имеет контейнерное представление.
Изначально у меня были кнопки для переключения с одного вида на другой, но мне нужно, чтобы звук воспроизводился в разных режимах, чтобы можно было воспроизводить, приостанавливать и т. Д. В других режимах.
Как заставить кнопку в главном контроллере действовать на объекты из контейнера дочернего представления?
1 ответ
Существует несколько способов отправки сообщений с одного контроллера представления на другой.
- Singleton.
- Делегаты.
- КВО.
- Уведомления.
Поскольку вы создаете аудиоприложение, использование Singleton может быть лучшим способом продвижения вперед.
Ваш синглтон создается один раз, хранит ваши функции воспроизведения отдельно от контроллеров представления и поэтому может быть доступен из любого места в вашем приложении.
Возможно, у вас есть play
функция в вашем синглтоне, который запускает ваше аудио, и pause
функция, которая приостанавливает это. Вы должны иметь возможность вызывать эти функции из любого контроллера представления.
Это было бы так просто, как:
AudioSingleton.shared().play