对于C函数(Apple的框架中的大多数全局函数都是C函数),至少有两种方法:
>使用弱链接符号
>动态链接器API:dlopen
如果可以找到符号,则动态检查(在运行时).
这是一个检查UIGraphicsBeginImageContextWithOptions(iOS 4引入)是否可用的示例:
voID UIGraphicsBeginImageContextWithOptions(CGSize size,BOol opaque,CGfloat scale) __attribute__((weak));static inline BOol hasUIGraphicsBeginImageContextWithOptions() { return UIGraphicsBeginImageContextWithOptions != NulL;}
这是使用dlsym的相同检查:
#import <dlfcn.h>static inline BOol hasUIGraphicsBeginImageContextWithOptions() { return dlsym(RTLD_SELF,"UIGraphicsBeginImageContextWithOptions") != NulL;}
使用dlsym的优点是你不需要声明,并且它可以轻松移植到Swift.
总结以上是内存溢出为你收集整理的ios – 检查Swift中是否存在全局函数全部内容,希望文章能够帮你解决ios – 检查Swift中是否存在全局函数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)