Будучи новичком в target-c, какао и iPhone-разработчике в целом, я очень хочу получить максимальную пользу от языка и фреймворков. Одним из ресурсов, которые я использую, являются заметки Стэнфорда CS193P, которые они оставили в Интернете. Он включает в себя примечания к лекциям, задания и пример кода, и, поскольку курс читался разработчиками …
Я обычно вижу этот вопрос, заданный по-другому, например, должен ли каждый ивар быть собственностью? (и мне нравится ответ bbum на этот вопрос). Я использую свойства почти исключительно в моем коде. Однако очень часто я работаю с подрядчиком, который долгое время разрабатывал для iOS и являлся традиционным программистом игр. Он пишет …
если вы указываете объекту c объект removeObservers: для ключевого пути, и этот ключевой путь не зарегистрирован, он взламывает sads. лайк - «Невозможно удалить наблюдателя для ключевого пути« theKeyPath », поскольку он не зарегистрирован в качестве наблюдателя». Есть ли способ определить, есть ли у объекта зарегистрированный наблюдатель, так что я могу …
Как удалить наблюдателя с объекта под ARC ? Мы просто добавляем наблюдателя и забываем об его удалении? Если мы больше не управляем памятью вручную, где мы откажемся от наблюдения? Например, на контроллере представления: [self.view addObserver:self forKeyPath:@"self.frame" options:NSKeyValueObservingOptionNew context:nil]; Раньше я бы вызвал метод removeObserver:контроллера представления dealloc.