Будучи новим у розробці предметів Objective-c, какао та iPhone в цілому, у мене є сильне бажання максимально використати мову та рамки. Один із ресурсів, якими я користуюся, - це примітки класу CS193P Стенфорда, які вони залишили в Інтернеті. Він включає в себе конспекти лекцій, завдання та зразок коду, а оскільки …
Зазвичай я бачу, що це питання задається іншим способом, наприклад, чи повинен кожен ivar бути власністю? (і мені подобається відповідь bbum на це питання). Я використовую властивості майже виключно у своєму коді. Однак так часто я працюю з підрядником, який давно розвивається на iOS і є традиційним ігровим програмістом. Він …
якщо ви скажете об'єкту c вилучитиObservers: для ключового шляху та ключового шляху не було зареєстровано, він тріщить сум. подібно до - "Неможливо видалити спостерігача для ключового шляху" theKeyPath ", оскільки він не зареєстрований як спостерігач." чи є спосіб визначити, чи є об’єкт зареєстрованим спостерігачем, тож я можу це зробити if …
Як видалити спостерігача з об'єкта під ARC ? Ми просто додаємо спостерігача і забуваємо про його видалення? Якщо ми більше не керуємо пам'яттю вручну, де ми звільняємося від спостереження? Наприклад, на контролері перегляду: [self.view addObserver:self forKeyPath:@"self.frame" options:NSKeyValueObservingOptionNew context:nil]; Раніше я б викликав метод removeObserver:контролера перегляду dealloc.
Я хочу , щоб стежити за змінами в UIViewросійській frame, boundsабо centerвласності. Як я можу використовувати спостереження за ключовими значеннями для досягнення цього?
Клас має властивість (і екземпляр var) типу NSMutableArray із синтезованими доступними засобами (через @property). Якщо ви спостерігаєте цей масив, використовуючи: [myObj addObserver:self forKeyPath:@"theArray" options:0 context:NULL]; А потім вставте об’єкт у масив таким чином: [myObj.theArray addObject:NSString.string]; Повідомлення obserValueForKeyPath ... не надсилається. Однак наступне надсилає належне повідомлення: [[myObj mutableArrayValueForKey:@"theArray"] addObject:NSString.string]; Це тому, …