Описание тега key-value-observing

Key-value Observing или KVO - это технология для наблюдения за изменениями свойств объекта.
2 ответа

Значение ключа iOS, наблюдающее за проблемами проекта Xcode

Сейчас я изучаю наблюдение значения ключа, у очень простого проекта KVO есть небольшие проблемы, которые не выводят свойства, новые значения изменяются, когда observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)chan…
28 май '13 в 16:14
1 ответ

Использование -setValue:forKey: vs "object.var = ..."

Разница между этими двумя строками кода в том, что вторая совместима с KVO, а первая нет? [person setValue:tempPerson.name forKey:@"name"]; person.name = tempPerson.name; Причина, по которой я спрашиваю, заключается в том, что мне нужно обновить 60 …
1 ответ

О количестве ссылок KVO

Когда я использую addObserver:forKeyPath:options:context: В этом методе наблюдатель будет сильной ссылкой или просто слабой ссылкой в ​​ARC? Есть идеи по этому поводу проблематично?
24 мар '16 в 04:58
1 ответ

Swift/Cocoa: как привязать значение к выбранной в данный момент вкладке

Работа на панели настроек. У меня есть NSTabView; вкладки создаются динамически из XIB. Они все очень похожи, но не идентичны. Итак, мне нужно изменить некоторые значения (и некоторые элементы управления, чтобы они появлялись или исчезали) в зависим…
1 ответ

iOS - обратный вызов при каждом изменении отображаемого представления

Я хотел бы знать, есть ли в любом случае, я мог бы получить обратный вызов каждый раз, когда отображаемое представление изменяется, и получить вновь отображенное представление в качестве параметра обратного вызова? Можно ли этого достичь с помощью п…
1 ответ

Ключ-Значение-Наблюдение и NSTimer

Я пытаюсь наблюдать свойство int (totalSeconds) в классе (StopWatch), где общее количество секунд увеличивается на единицу каждый раз, когда время срабатывает (с интервалами в одну секунду). Мой пользовательский класс (DynamicLabel) подкласс UILabel…
2 ответа

KVO с NSPrivateQueueConcurrencyType

Я хотел бы определить, изменился ли атрибут в основных данных, и обновить мой пользовательский интерфейс. Атрибут может измениться в результате фоновой выборки, запущенной в контексте управляемого объекта типа NSPrivateQueueConcurrencyType. Я добави…
07 янв '13 в 20:28
1 ответ

При использовании KVO необходимо ли удалять себя как наблюдателя self в -dealloc?

В методе -init моего подкласса NSObject экземпляр добавляет себя в качестве наблюдателя некоторых собственных ключей keyPath для запуска действия, которое должно происходить каждый раз, когда изменяется одно из рассматриваемых свойств. например. [se…
06 июн '11 в 17:30
3 ответа

Простой пример КВО

Я пытаюсь сделать простой пример КВО, но у меня проблемы. Это мой *.m файл: #import "KVO_ViewController.h" @interface KVO_ViewController () @property NSUInteger number; @end @implementation KVO_ViewController - (void)viewDidLoad { [super viewDidLoad…
26 июл '14 в 09:23
2 ответа

Написание Kvo контекста в Swift

В ObjC static void * const kKVOContext = (void*)&kKVOContext; [self.superview removeObserver:self.parent forKeyPath:NSStringFromSelector(@selector(contentOffset)) context:kKVOContext]; contentOffset является UIScrollView имущество. Я написал это…
27 ноя '17 в 04:59
1 ответ

Что произойдет, если моя реализация метода setXXX, который выполняет проверку?

По обеспечению соответствия KVC В документе говорится: Ваша реализация -set<Key>: Метод не должен выполнять проверку. Ваш класс должен реализовать -validate<Key>:error: если проверка подходит для ключа. Так будет, если моя реализация мет…
07 июн '14 в 06:19
1 ответ

Как сохранить виртуальное свойство Core Data?

У меня есть подкласс NSManagedObject с виртуальным свойством, которое дорого рассчитывать. Свойство зависит от значения одного из конкретных атрибутов объекта. По соображениям производительности я хочу вычислять значение виртуального свойства только…
1 ответ

Cashapelayer и Catextlayer в качестве подслоя

Я работаю над приложением ios, которое помимо прочего содержит скроллвью с узлами и ребрами. Сначала я использовал calayer и с наблюдением значения ключа для начального и конечного узлов. Используется следующий код для рисования края и метки края: -…
2 ответа

Свойство загрузки UIWebView никогда не меняется

У меня есть UIWebView, который загружает простой запрос, например, так: NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"derp.com"] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:15.0]; [we…
27 мар '13 в 16:50
2 ответа

Наблюдение за изменениями в массиве visibleCells UICollectionView

Я хотел бы знать, когда количество visibleCells собственностью UICollectionView изменения. Я знаю, что могу наблюдать объекты, которые наследуются от NSObject пока собственность, которую я хочу наблюдать dynamic, Например: let view = UIView() view.o…
3 ответа

Почему я получаю необработанное исключение при реализации моих собственных методов установки / получения KVC

Мои классы моделей в основном реализованы с помощью синтезированных методов установки / получения, и все было хорошо. Все было приятно подключено к пользовательскому интерфейсу. Позже я понял, что изменение одного свойства должно привести к изменени…
13 фев '12 в 20:40
2 ответа

Как наблюдать значение NSTextField

Это может показаться простым, но следующий код не работает, потому что никогда не вызывается функция Наблюдение за ValueForKeyPath, хотя я продолжаю изменять текст в поле NSText: - (void)awakeFromNib { [myNSTextField addObserver:self forKeyPath:@"va…
29 июн '11 в 21:11
0 ответов

КВО: NSMenuItem не будет обновляться

Я создаю пункт меню следующим образом: NSMenuItem* item = [[NSMenuItem alloc] init]; [item setTitle:device.name]; [item setImage:device.icon]; Устройство name это обновление по какой-то причине. Один из моих пользовательских видов обновляется при об…
2 ответа

Swift 4 переключиться на новый API наблюдения

У меня проблемы с новым observe API в Swift 4. player = AVPlayer() player?.observe(\.currentItem.status, options: [.new], changeHandler: { [weak self] (player, newValue) in if let status = AVPlayer.Status(rawValue: (newValue as! NSNumber).intValue) …
1 ответ

KVO с семантикой Run-to-Completion - возможно ли это?

Недавно я столкнулся с проблемами повторного входа в КВО. Чтобы визуализировать проблему, я хотел бы показать минимальный пример. Рассмотрим интерфейс AppDelegate учебный класс @interface AppDelegate : UIResponder <UIApplicationDelegate> @prop…