问题:

  你正在使用最新版的 SDK 中的一些类,但是你不确定这些类是否能在你程序运行的设 备中可用,因为有可能你部署的目标设备要比最新版 SDK 早。

方案:

  用NSClassFromString函数.

  传入类的名称字符串符。若是返回值为空(nil),则表示这个类无法在这台设备上使用;反之,这个类则可在这台设备上使用。 

例子:

  

if (NSClassFromString(@"NSJSONSerialization")!=nil) {//[NSJSONSerialization JSONObjectWithData:<#(NSData *)#> options:<#(NSJSONReadingOptions)#> error:<#(NSError *__autoreleasing *)#>]}else{}

转载于:https://www.cnblogs.com/safiri/p/4010613.html

确认类是否可以在运行期使用相关推荐

  1. jvm(11)-晚期(运行期)优化

    [0]README 0.1)本文部分文字描述转自 "深入理解 jvm",旨在学习  晚期(运行期)优化  的基础知识: [1]概述 1)即时编译器(JIT=just in time ...

  2. 深入理解JVM:晚期(运行期)优化

    Java程序最初是通过解释器进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为"热点代码"(Hot Spot Code). 1.即时编译器(JIT编 ...

  3. [深入理解Java虚拟机]第十一章 程序编译与代码优化-晚期(运行期)优化

    概述 在部分的商用虚拟机(Sun HotSpot.IBM J9)中,Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认 ...

  4. Spring事务管理只对出现运行期异常进行回滚

    使用spring难免要用到spring的事务管理,要用事务管理又会很自然的选择声明式的事务管理,在spring的文档中说道,spring声明式事务管理默认对非检查型异常和运行时异常进行事务回滚,而对检 ...

  5. 理解java虚拟机工作后了解吗,【深入理解JAVA虚拟机】第4部分.程序编译与代码优化.2.运行期优化。这章提到的具体的优化技术,应该对以后做性能工作会有帮助。...

    1.概述 Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为"热点代码"(Hot Spot C ...

  6. C++编译期多态与运行期多态

    前言 今日的C++不再是个单纯的"带类的C"语言,它已经发展成为一个多种次语言所组成的语言集合,其中泛型编程与基于它的STL是C++发展中最为出彩的那部分.在面向对象C++编程中, ...

  7. Java中的运行期类型鉴定

     对于作为程序一部分的每个类,它们都有一个class对象.换言之,每次写一个新类时,同时也会创建一个class对象,更恰当的说,是保存在一个完全同名的.class文件中.在运行期,一旦我们想生成那 ...

  8. 深入理解JVM虚拟机(九):运行期优化与JIT编译器

    1. JIT编译器的引入 首先我们这篇文章中所说的编译器都是指JVM的组成部分之一-即时编译器(JIT),与生成Java字节码的javac编译器要区分开来.首先我们这篇文章中所说的编译器都是指JVM的 ...

  9. 在运行期通过反射了解JVM内部机制

    在日常工作中,我们都习惯直接使用或者通过框架使用反射.在没有反射相关硬编码知识的情况下,这是Java和Scala编程中使用的类库与我们的代码之间进行交互的一种主要手段.但是,使用反射仅限于JVM内部运 ...

最新文章

  1. 计算机组成原理的判断题,2《计算机组成原理A》判断题
  2. I2C总线学习—查缺补漏—对数据有效性的思考
  3. 服务器端可控情形的Javascript跨域访问解决方法
  4. awk学习笔记(8) - 简单的正则匹配
  5. foreach进不去报错java_为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作...
  6. JQuery高效制作网页特效第六章jQuery选择器课后作业
  7. Linux抓包命令集锦(tcpdump抓包)
  8. matlab高斯窗函数,Matlab的窗函数,矩形窗,三角窗,汉明窗,汉宁窗,布莱克曼窗
  9. 【Web前端HTML5CSS3】05-样式继承与其他概念
  10. C#datagrid与datagridview的区别
  11. 投资学实务 期货日志及实践总结
  12. Simultaneous Multithreading (同时多线程)
  13. CSS3 border-radius 属性
  14. 心若改变,态度就会改变;态度改变,习惯就改变;习惯改变,人生就会改变
  15. JavaScript奇淫技巧:反调试
  16. 纯CSS实现导航栏下拉动画效果
  17. 酷视网页视频VR播放器SDK(旗舰版)使用说明书
  18. unittest总结
  19. 基于JAVA汽车售后服务信息管理系统的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  20. 如何让淘宝客推广我们的产品?

热门文章

  1. bitwig编曲软件linux,Bitwig 中文视频教程——注册安装和基础功能入门
  2. [深度学习] 一篇文章理解 word2vec
  3. [Golang] GOROOT、GOPATH和Project目录说明
  4. UVC协议USB视频捕获设备定义
  5. 【OpenPose-Windows】运行OpenposeDemo.exe 如何保存图像运行结果及关节点信息
  6. 在python中操作excel
  7. 【Transformer】PoolFormer: MetaFormer is Actually What You Need for Vision
  8. 感知算法论文(六):LEDNet(2019)
  9. 基于UDP/TCP的网络协议(端口分配)
  10. 2012年我读过的十本好书