Ваша проблема обычно решается с помощью шаблона Model-View-Controller . В этом случае ваша «модель» будет объектом, который хранит числа, а также выполняет вычисления с этими числами. Ваше «представление» здесь будет представлениями на каждой вкладке - первая вкладка, отображающая вычисления, вторая вкладка, отображающая числа. «Контроллером» здесь будут ваши существующие UIViewController
объекты (или их подклассы) - на первой вкладке, отвечая на изменения в модели данных и соответственно обновляя (скажем) UILabels
, на второй вкладке изменяя числа в модели данных, когда пользователь, например, изменяет значение на UISlider
или UITextView
.
Создайте этот объект модели данных (который должен быть просто подклассом NSObject
) в делегате приложения, добавьте его в качестве члена / свойства интерфейса в контроллерах представления и передайте его обоим контроллерам представления при запуске приложения. , Обновление модели данных так же просто, как вызов методов вызова контроллера второго представления и / или изменение свойств в модели данных, связанных с различными значениями, которые она использует.
Вы завершили реализацию этого паттерна с помощью части наблюдения. Здесь вы можете либо заставить свои контроллеры представления использовать Наблюдение значения ключа (возможно, самое простое) для наблюдения за элементами данных в модели данных, либо вы можете заставить модель данных выдавать NSNotifications
который ваш контроллер вида затем зарегистрирует для получения (может быть сложнее).