DevPrep

Все темы › Objective-C

Что такое KVC и KVO?

Middle PRO

KVC — Key-Value Coding

Доступ к свойствам по строковому ключу: [obj valueForKey:@"name"], setValue:forKey:, key path valueForKeyPath:@"address.city". Рантайм ищет аксессор name/isName/setName:, а если его нет и accessInstanceVariablesDirectly = YES — ivar _name/name. Скаляры автоматически оборачиваются в NSNumber/ NSValue. Коллекционные операторы: @"items.@sum.price", @count, @max, @distinctUnionOfObjects. На KVC построены Core Data, бindings в AppKit и NSPredicate/NSSortDescriptor.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store