У меня есть проблема, так как два дня исследую больше, я не мог решить.Доступ к данным из другого класса без создания нового экземпляра
У меня есть приложение в классе, который управляет потоковым аудио. В другом представлении у меня есть таблица с подкастами, которые будут открываться через url.
Чтобы использовать код первого класса, созданного делегатом, поэтому, когда пользователь переходит к воспроизведению в любом аудиоподкасте, я занимаюсь методами основного класса, просто изменяя параметры (в данном случае URL-адрес) ,
Делегат работает правильно, передавая параметры. Единственная проблема заключается в том, что делегат должен создать экземпляр основного класса.
ClassePrincipal *classePrincipal = [[ClassePrincipal alloc] init];
classePrincipal.delegate = self;
[classePrincipal method];
Если звук уже работает в главном классе, экземпляр в качестве нового класса объектов, он начнет воспроизведение аудио подкаста на вершине того, что уже работает.
и даже если у меня есть главная остановка, прежде чем он продолжает играть подкаста, например:
- (void) playPodcast {
[classePrincipal destroyStreamer];
[classePrincipal startStream];
}
destroyStreamer метода называется правильно, но, как экземпляр был создан с нуля classePrincipal он не видел ни одного воспроизводимого звука.
вид перевернутого вопроса, но есть ли способ вызвать метод передачи параметра ClassePrincipal без создания экземпляра класса? Для того, чтобы не выделять новый объект в памяти, я мог видеть, воспроизводится ли звук и для него.
если есть какой-либо другой способ решить тоже спасибо.
Это звучит как отношение родителя/ребенка ко мне. Я бы, вероятно, не использовал синглтон, если другие части приложения также не могут начать воспроизведение звука. Не знаю. – livingtech
Я реализовал singleton в своем классе и вызвал функцию [[MyClass sharedManager] stop]; функция была выполнена, но звук не остановился, у меня был тот же результат, что и у делегата любая идея? – jucajl
Я не чувствую, что не смогу помочь вам в дальнейшем с ограниченным объемом информации, которую у меня есть. Мой первый вопрос: вы можете вручную остановить плеер без sharedManager? Если это так, тогда я увижу, правильно ли ваш «sharedManager» проверяет существующий экземпляр и правильно его обрабатывает. – rooster117