У вас все еще есть проблемы с iOS 5, о которых я упоминал ранее. Вы не можете решить эту проблему с проверкой во время компиляции; это должна быть проверка во время выполнения.

оводство по программированию наблюдения значения ключа, секцияРегистрация для наблюдения значения ключа говорит: «Обычно свойства в предоставленных Apple каркасах соответствуют KVO, только если они задокументированы как таковые». Но я не нашел никаких свойств в документации, которые задокументированы как KVO-совместимые. Не могли бы вы указать мне на некоторые?В частности, я хотел бы знать, если

 из@property(nonatomic,retain) UIViewController *rootViewController является КВО-совместимым. Причина в том, что я добавляюUIWindow собственность наrootViewController для iOS <4 и хочу знать, должен ли я сделать это KVO-совместимым.UIWindowКраткий ответ: Нет.

@interface UIWindow (Additions)

#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0
@property (nonatomic, retain) UIViewController *rootViewController;
#endif;

@end

@implementation UIWindow (Additions)

#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_4_0
@dynamic rootViewController;

- (void)setRootViewController:(UIViewController *)newRootViewController {
    if (newRootViewController != _rootViewController) {
        // Remove old views before adding the new one.
        for (UIView *subview in [self subviews]) {
            [subview removeFromSuperview];
        }
        [_rootViewController release];
        _rootViewController = newRootViewController;
        [_rootViewController retain];
        [self addSubview:_rootViewController.view];
    }
}
#endif

@end

Ответы на вопрос(4)

Ваш ответ на вопрос