为了账号安全,请及时绑定邮箱和手机立即绑定

弱链接-检查类是否存在并使用该类

弱链接-检查类是否存在并使用该类

iOS
慕斯709654 2019-11-27 13:06:49
我正在尝试创建一个通用的iPhone应用程序,但它使用的类仅在更新版本的SDK中定义。该框架存在于较旧的系统上,但框架中定义的类不存在。我知道我想使用某种弱链接,但是我能找到的任何文档都在讨论运行时检查函数是否存在-如何检查类是否存在?
查看完整描述

3 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

对于使用iOS 4.2或更高版本的基本SDK的新项目,建议使用这种新方法,即使用NSObject类方法在运行时检查弱链接类的可用性。即


if ([UIPrintInteractionController class]) {

    // Create an instance of the class and use it.

} else {

    // Alternate code path to follow when the

    // class is not available.

}

来源:https : //developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/cross_development/Using/using.html#//apple_ref/doc/uid/20002000-SW3


此机制使用NS_CLASS_AVAILABLE宏,该宏可用于iOS中的大多数框架(请注意,可能有些框架尚不支持NS_CLASS_AVAILABLE-请查看iOS发行说明)。可能还需要额外的设置配置,可以从上面提供的Apple文档链接中读取该设置,但是,此方法的优点是可以进行静态类型检查。


查看完整回答
反对 回复 2019-11-27
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

游戏进行得有点晚,但是当我尝试构建UIAlertController仍支持iOS 7的代码时,我遇到了这个问题。code007的答案是正确的,但是所需的额外配置是在项目中弱链接(设置RequiredOptional)UIKit。 (至少在这种情况下)。

查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 496 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信