JSONKit在项目中使用设置(ARC与方法更新)

在项目中经常会遇到解析json的情况,如果有同学想要解析JSON,那么JSONKit可以是一个不错的选择。

git中JSONKit 的地址为:https://github.com/johnezang/JSONKit

由于项目已经很久没有更新,仍然使用了MRC,因此在使用时需要做几处修改:

1.把JSONKit设置为不支持arc的模式,在Build Phases ->Compile Sources 选择文件双击,在对话框中添加“-fno-objc-arc”参数(不含引号)。

2.此时编译仍然会出现下面的报警:

报错信息:error: assignment to Objective-C‘s isa is deprecated in favor of object_setClass()

解决办法:

(1)修改JSONKit.m文件第680行,修改为object_setClass(array, _JKArrayClass);

(2)修改JSONKit.m文件第931行,修改为object_setClass(dictionary, _JKDictionaryClass);

3.搞定。

时间: 2024-11-06 21:44:26

JSONKit在项目中使用设置(ARC与方法更新)的相关文章

【iOS开发】在ARC项目中使用非ARC文件

ARC的出现应该说是开发者的一大福利,苹果是推荐使用的,但是因为之前没有ARC机制,好多比较好的类库都是使用的非ARC,或是有些大牛还是不喜欢用ARC,封装的类也是非ARC的,想要在自己的ARC项目中使用这些非ARC类库,只需要简单的设置一下就可以了. 在TARGETS-Bulid Phares-Compile Sources中找到非ARC的文件,双击,在弹出的框中添加 -fno-objc-arc 如图: 即可 PS:如果项目建立时未使用ARC,想将其改为ARC,可以在building sett

项目记录:spring+springmvc 项目中 @Transactional 失效的解决方法

第一步,修改spring的配置文件和springmvc的配置文件 --------------------------------applicationContext.xml <context:annotation-config/>  <context:component-scan base-package="com.xxx"> <context:exclude-filter type="annotation" expression=&

Android 项目中执行java的main方法

Android 项目中执行java的main方法 导语 今日,在android项目中写了一个工具类,为了简单测试一下输出,就只直接在类中加上了main方法,于是问题来了: 解决方法是网上找到了,已经解决了,在此记录一下. 右击项目名,调出Properties窗口,打开Run/Debug Settings 标签,右边即列出了这个项目中含有main方法的所有java类,双击你要允许的java类:

在ARC项目中使用非ARC(或者在非ARC项目中使用ARC)框架或者类库一起工作

从iOS5 以来,引入了Automatic Reference Count(ARC)自动引用计数,就是obj-c对象每被"使用"一次,引用计数就会+1,当引用计数为0时,系统就会回收内存.这些都是由编译器自己完成的.而非ARC在OC程序中就是:自己alloc的要release,retain/copy的相应的也要release,这是传说中的非ARC. 在使用第三方类库的时候,有时候第三方类库的内存管理机制跟自己的不一样,但是还是想使用,该怎么办呢? 具体方法如下: 1.选择项目中的Tar

arc项目中使用非arc文件

因为之前没有ARC机制,好多比较好的类库都是使用的非ARC,或是有些大牛还是不喜欢用ARC,封装的类也是非ARC的,想要在自己的ARC项目中使用这些非ARC类库,只需要简单的设置一下就可以了. 1.导入非arc文件,在.h文件中找到需要在Build Settings中设置的东西, 随后在Build Settings中进行设置, 2.在Build Phases中进行设置-fno-objc-arc, 3.进行编译,就可以使用了

【iOS开发-83】一般项目中怎么设置UIStatusBar的隐藏和样式?

思路:一般项目中,在加载页的时候一般不会出现状态栏(status bar),纯粹一张或者几张引导页的大图.等程序加载完了,才会出现状态栏.而且一般而言,状态栏上面的文字都是白色的,因为现在很多APP导航栏都是带有背景的,白色相对黑色而言更好看吧. (1)首先,把状态栏隐藏,不管是加载时还是加载好之后. (2)把状态栏交给AppDelegate去管理,也就是说,系统默认的是交给各个控制器去管理,所以我们要在plist配置文件中修改这个配置(即增加一项即可). (3)AppDelegate拿到管理

在C#的Web项目中调用Matlab代码的方法

为了毕设的图形检索方向的研究,本人需要在信科的师兄师姐们已经完成的C#界面中,调用现在研究的算法的Matlab代码,以便看到实验的效果.前段时间已经拖延了1个多月,一方面因为实习越来越多事情,时间减少了很多:但更重要在于C#调用Matlab的方法真心麻烦,C#的Web项目中进行这个操作貌似会碰到更多细节上的问题.而且总是很不稳定,操作系统.Matlab或VS的版本.遗漏一些文件或步骤都会造成失败!这个问题本人已经搞了很长时间,直至前几天,在同学的帮助下,自己再弄一遍,总算成功了!下面我及时把这个

swift项目中使用OC/C的方法

假如有个OC类OCViewController : UIViewController类里有两个方法 //swift调用oc或c的混编是比较常用的,反过来的调用很少.这里只写了swift调用oc和c的方式.//OC函数声明- (void)testOC;//C函数声明void testc(); 实现:void testc(){  printf("testc.....................");} -(void)testOC{  NSLog(@"\ntestOC.....

angular6项目中使用echarts图表的方法(有一个坑,引用报错)

1.安装相关依赖(采用的webpack) npm install ecahrts --save npm install ngx-echarts --save 2.angular.json 配置echarts路径 "scripts": [ "node_modules/echarts/dist/echarts.min.js", "node_modules/echarts/map/js/china.js", "node_modules/ech