IOS 5 UIDocument子类是否向后兼容?

时间:2011-10-31 22:09:05

标签: ios backwards-compatibility icloud uidocument

为了支持iCloud,我们鼓励使用UIDocument子类。如果我定义一个新的子类,将项目目标版本设置为3.0,并在使用我的新子类之前使用iOS 5进行测试,代码是否可以在iOS 4上运行,或者在子类中进行链接是否可以向后兼容?

2 个答案:

答案 0 :(得分:2)

UIKit可以是弱链接的,但如果您尝试初始化UIDocumentUIDocument子类,结果将是未定义的。你需要这样的东西:

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

这会使你的目的完全没用。所以你的问题的答案是否定的,任何涉及UIDocument的代码都不会运行,但你可以对这些代码进行条件检查。你最好找一种保存数据的替代方法。

答案 1 :(得分:0)

它需要与UIDocument链接才能理解UIDocument的子类实际意味着什么。例如,如果你的类Bar有子类Foo,而Foo有方法'doBaz',你可以在Bar实例上调用'doBaz',但是如果链接器不知道Foo,它就不知道Bar可以做doBaz。

你可能会做一个薄弱的环节。当iOS 4问世时,也出现了类似的情况,i3在iOS 3中无法使用,这在当时是iPad上最好的。