У меня есть ContactViewController, который - при каждом выборе строки - MessageViewController открывается (с помощью pushViewController). Как ContactViewController, так и MessageViewController 'register', чтобы получать сообщения DatastoreDelegate. Странно, что все это прекрасно работает при загрузке моего приложения, но как только я перейду к MessageViewController, методы делегата на моем ContactViewController больше не вызываются. Оба этих контроллера должны обрабатывать метод [messageAdded: (Message *)], но только MessageViewController продолжает получать сообщения после того, как он был открыт один раз.Делегат, не вызываемый
Есть ли у кого-нибудь идеи о том, как сделать эту работу?
Спасибо, у меня сложилось впечатление, что делегаты смогут отправлять сообщения нескольким классам, но я думаю, что я ошибался в этом предположении. Я буду использовать NotificationCenter или найти другой способ реализовать свой код. –
Любой объект может отправлять сообщения нескольким классам. Классы обычно * не являются * делегатами; вы обычно делаете только экземпляр делегата. И любой объект, у которого есть делегат, имеет только один делегат; два объекта не могут быть его делегатом одновременно. Используйте уведомления, если вы этого хотите. –