为了支持iCloud,我们被鼓励使用一个
UIDocument
子类。如果我定义了一个新的子类,将项目目标版本设置为3.0,并在使用我的新子类之前使用iOS 5进行测试,那么代码是否可以在iOS 4上运行?还是说链接到子类会破坏向后兼容性?UIDocument
子类。如果我定义了一个新的子类,将项目目标版本设置为3.0,并在使用我的新子类之前使用iOS 5进行测试,那么代码是否可以在iOS 4上运行?还是说链接到子类会破坏向后兼容性?UIKit
可以弱链接,但如果您尝试初始化UIDocument
或UIDocument
的子类,则结果将是未定义的。您需要像这样:
if (NSStringFromClass(@"UIDocument"))
{
...
}
UIDocument
的代码都无法运行,但你可以在这些代码周围添加条件检查。最好找到一种替代方法来保存数据。为了理解子类化UIDocument的含义,它需要与UIDocument链接。例如,如果您有一个名为Bar的类,它是Foo的子类,并且Foo有一个名为“doBaz”的方法,您可以在Bar实例上调用“doBaz”,但是如果链接器不知道Foo,它就不知道Bar可以执行doBaz。
您可能可以进行弱链接。当iOS 4推出时,iPad上最好的iOS 3中没有iAds,这种情况类似。