Каков наилучший способ получить значение bool из detailViewController? - PullRequest
0 голосов
/ 08 октября 2010

В моем приложении для навигации есть кнопка, которая при нажатии меняет вид на detailViewController.Здесь пользователь может установить несколько параметров.Одним из таких вариантов является значение bool.Когда я возвращаюсь из detailViewController, как я могу увидеть, что это значение bool?

1 Ответ

4 голосов
/ 08 октября 2010

Создайте протокол (DetailViewDelegate?) И создайте делегат свойство в вашем DetailViewController.Когда вы создаете экземпляр своего контроллера представления, установите для свойства делегата значение self и используйте это свойство для отправки сообщений обратно на ваш главный контроллер представления.Единственная сложность заключается в том, что вам нужно объявить свойство делегата как «assign», чтобы не создавать цикл сохранения между подробным представлением и главным представлением.


DetailViewController.h:

@class DetailViewController; // Forward Declaration.
@protocol DetailViewDelegate
- (void)detailViewController:(DetailViewController *)controller didChangeBool:(BOOL)theBool;
@end

@interface DetailViewController : UIViewController {
    id <DetailViewDelegate> delegate;
}

@property (assign) id <DetailViewDelegate> delegate;

@end

Это просто интерфейс, но он должен помочь вам в этом.Установите свойство delegate подробного представления и внедрите метод detailViewController:didChangeBool: в своем основном представлении, и это все.


Чтобы ответить на вопросы в вашем комментарии:

  1. Да.Перед тем как нажать контроллер подробного представления, установите для его свойства delegate значение self.
  2. Необходимо объявить, что ваш главный контроллер представления реализует протокол DetailViewDelegate.Узнайте, как это сделать, прочитав Документация Apple .
  3. После того, как вы объявите, что ваш контроллер главного представления будет реализовывать протокол, вам необходимо его реализовать.Добавьте метод detailViewController:didChangeBool: к вашему основному контроллеру представления.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...