Подкласс IOS 5 UIDocument обратно совместим? - PullRequest
4 голосов
/ 01 ноября 2011

Для поддержки iCloud рекомендуется использовать подкласс UIDocument. Если я определю новый подкласс, установлю целевую версию проекта равной 3.0 и протестирую использование для iOS 5 перед использованием моего нового подкласса, будет ли код работать на iOS 4 или же ссылки в подклассе нарушают обратную совместимость?

Ответы [ 2 ]

2 голосов
/ 01 ноября 2011

UIKit может быть слабосвязанным, но результаты будут неопределенными, если вы попытаетесь инициализировать подкласс UIDocument или UIDocument.Вам нужно что-то вроде:

if (NSStringFromClass(@"UIDocument")) 
{
    ...
}

Это сделает его абсолютно бесполезным для ваших целей.Таким образом, ответ на ваш вопрос - нет, любой код, включающий UIDocument, не будет работать, но вы можете поставить условные проверки вокруг такого кода.Вам лучше найти альтернативный способ сохранения данных.

0 голосов
/ 01 ноября 2011

Потребуется связь с UIDocument, чтобы понять, что на самом деле означает подкласс UIDocument.Например, если у вас есть класс Bar, который является подклассом Foo, а у Foo есть метод doBaz, вы можете вызвать doBaz для экземпляра Bar, но если компоновщик не знает Foo, он не знает, что Bar может делать doBaz.

Вы можете сделать слабую ссылку, хотя.Была похожая ситуация, когда вышла iOS 4 с iAds, недоступными в iOS 3, которая была лучшей на iPad в то время.

...