Как управлять объектами в другом контроллере представления? (Xcode: цель-с)

Я делаю своего рода музыкальное приложение, и на главном экране вверху расположены кнопки воспроизведения и другие кнопки. Этот раздел занимает только верхнюю часть представления, так как другая часть имеет контейнерное представление.

Изначально у меня были кнопки для переключения с одного вида на другой, но мне нужно, чтобы звук воспроизводился в разных режимах, чтобы можно было воспроизводить, приостанавливать и т. Д. В других режимах.

Как заставить кнопку в главном контроллере действовать на объекты из контейнера дочернего представления?

1 ответ

Существует несколько способов отправки сообщений с одного контроллера представления на другой.

  1. Singleton.
  2. Делегаты.
  3. КВО.
  4. Уведомления.

Поскольку вы создаете аудиоприложение, использование Singleton может быть лучшим способом продвижения вперед.

Ваш синглтон создается один раз, хранит ваши функции воспроизведения отдельно от контроллеров представления и поэтому может быть доступен из любого места в вашем приложении.

Возможно, у вас есть play функция в вашем синглтоне, который запускает ваше аудио, и pause функция, которая приостанавливает это. Вы должны иметь возможность вызывать эти функции из любого контроллера представления.

Это было бы так просто, как:

AudioSingleton.shared().play

Другие вопросы по тегам