有人可以告诉我如何使用@compatibility_alias来获取一个类,例如UIActivityViewController,这是iOS 6的新功能,并使用@compatibility_alias使其在iOS 5和iOS 4上运行。请具体说明哪里放置代码,以及如何使用它。
答案 0 :(得分:8)
它只是方法名称的别名,仅此而已。
它是Objective-C编译器的一个特性,而不是运行时
的特性看着NSHipster我们看到:
@compatibility_alias:
允许现有类使用其他名称别名
这允许人们编写他们自己的当前SDK中不可用的类的实现,并将该名称“别名”为较新的sdk中的类的名称。因此,关键是要编写或找到另一个具有与另一个不可用类相同的方法和行为的类。
这里没有灵丹妙药。
顺便说一下:我曾经不得不在邮局排队,并且有一个标志说:“如果看起来好,那可能就是”,这适用于此。