Próbuję słuchać zmian dla prezentowanego kontrolera ViewViewer, ale nie wygląda na to, że ta właściwość jest zgodna z KVO (lub przynajmniej nie jestem w stanie uzyskać z niej zmian). Czy istnieje sposób w UIViewController do słuchania zmian, gdy aktywny jest UIViewController?shownViewController Zmiany KVO
10
A
Odpowiedz
-6
Nie rozumiem dlaczego chcesz wiedzieć, czy instancja z UIViewController aktywnie przedstawiony za pomocą:
@property(nonatomic,readonly) UIViewController *presentedViewController;
Ale hej, jesteś szefem. Myślę na przykład w kontrolerze widoku, który jest unikalny i powinien być prezentowany tylko raz, ale nie wiem, czy to pasuje do twoich kryteriów.
Myślę, że najlepszym sposobem jest użycie słowa instancji jest moja rada :), na przykład
w pliku nagłówka:
+ (MyViewController *)instance;
w pliku źródłowym:
static MyViewController *instance = nil;
@implementation MyViewController
+ (MyViewController *)instance
{
return instance;
}
- (void)viewDidLoad
{
instance = self;
[super viewDidLoad];
// ...
}
Z innych części aplikacji możesz teraz:
if ([[MyViewController instance] presentedViewController])
{
// here I'm been presented
}
1
presentedViewController
nie wydaje się być zgodny z KVO, ale jest to możliwe być powiadamiany o zmianach nadrzędnymi odpowiednich metod prezentacji/Oddalenie UIViewController
:
override func presentViewController(viewControllerToPresent: UIViewController, animated flag: Bool, completion: (() -> Void)?) {
// will present view controller
super.presentViewController(viewControllerToPresent, animated: flag, completion: completion)
}
override func dismissViewControllerAnimated(flag: Bool, completion: (() -> Void)?) {
super.dismissViewControllerAnimated(flag, completion: completion)
// did dismiss view controller
}
Powiązane problemy
- 1. NSMutableDictionary KVO
- 2. NSArrayController i KVO
- 3. Problemy NSUserDefaults i KVO
- 4. Prosty przykład KVO
- 5. KVO i refactoring
- 6. Różnica między self.variable i _variable, o KVO
- 7. KVO na tablicy UIViewController childViewControllers
- 8. Moje isa-swizzling łamie KVO
- 9. Obserwowanie wartości UISlider - iPhone KVO
- 10. KVO i ARC jak usunąćObserwer
- 11. Problemy z GCD i KVO
- 12. KVO vs NSNotification kontra protokół/delegaci?
- 13. KVO wypalania gdy przypisana wartość nie różni
- 14. Jak przekazywać wartości za pomocą KVO?
- 15. Narzędzie do debugowania KVO/powiązań w kakao
- 16. KVO: Czy mogę usunąć wszystkich obserwatorów z konkretnego obiektu
- 17. KVO addObserver do relacji jeden-do-wielu obiektów CoreData
- 18. Obserwowanie zmian w tablicy zmiennych przy użyciu KVO vs. NSNotificationCenter
- 19. Ustawienie KVO dla obliczonych wartości, na podstawie obliczonych wartości
- 20. Wyślij powiadomienie, gdy właściwość jest zmieniany Korzystanie KVO
- 21. KVO na removeAllObjects Wyzwala NSKeyValueChangeRemoval dla każdego elementu oddzielnie
- 22. SVN: Przywraca zmiany losowej wersji, ale zachowuje zmiany wszystkich następnych
- 23. Bit zmiany w C++
- 24. Git: zatwierdza częściowe zmiany
- 25. git podczas zmiany repozytorium
- 26. Wykrywanie zmiany w UISwitchu
- 27. Słuchacz zmiany wartości JTable
- 28. moment.js czas zmiany gmt
- 29. Przełamując zmiany Boost.Thread 3.0.0
- 30. Autor zmiany Git rebase?
Czuje się jak zwyczaj powstrzymywania jest droga. Myśli? – user2916412