Хорошо, это вопрос дизайна.Я, как и многие, все еще изучаю Objective-C и Cocoa, и немного заржавел.В любом случае, вот вопрос:
Предположим, у меня есть класс ViewController 'A'.
Предположим, у меня есть класс "Camera" 'B', который является одиночным.
Предположим, у меня есть классКласс UILabel 'C'.
ViewController 'A' знает о «камере» «B» и всегда может легко получить ссылку на нее, запросив B.sharedInstance
, которую я установилтаймер в 'A', который неоднократно вызывает метод в классе 'Camera' класса 'B'.
Каждый раз, когда метод в 'B' вызывается таймером, я также хочу отправить сообщение на UILabel 'C' также ....
Only, "Camera"«B» не знает UILabel, поэтому я не могу обновить UILabel в методе камеры, который вызывается таймером.
Значение, отображаемое UILabel, взято из «Камеры».Он должен получить эту информацию сразу после того, как таймер вызвал метод, вызванный таймером, в классе «Камера».
Как правильно спроектировать это, чтобы UILabel 'C' могла быть должным образом проинформирована об изменениях в«Камера» каждый раз, когда таймер вызывает его метод.
Если вы все еще со мной, спасибо за чтение.Любой совет, безусловно, будет поучительным.Заранее благодарен за любую помощь, которую вы можете предложить.
Я понимаю, что мог бы передать UILabel в качестве аргумента камере при вызове таймера, но это кажется действительно уродливым.И я мог бы сделать UILabel синглтоном, и тогда камера сможет вызвать C.sharedInstance, который все еще имеет смысл в этой программе, но кажется, что это НЕПРАВИЛЬНО.
Каков правильный способ сделать это?