KissXML中的类报错的修改方法 报错:self->isa = [DDXMLDocument class];

今天解析XML用到了KissXML,之后出现了编译错误。

错误如下:

       报错的代码为各个类的  self->isa = [DDXMLDocument class];这句话。

Xcode的提示为:Assignment  to  Objectitve-C's  isa  is  deprecated  in  favor  of  object_setClass()   

这句话翻译过来的意思为:Objective-C中的isa已经舍弃了,代替它的是object_setClass()


解决方法:

  1.在类中导入objc下的runtime.h            #import <objc/runtime.h>

    2.重新编译,Xcode就会有提示,按照提示修改即可。

      修改后变成:object_setClass(self, [DDXMLDocument class]);


      
如果没有提示。则按照修改后的结果直接写出来即可

 



以下是部分代码示例:其它同理

if(self && maybeIsaSwizzle)

{

if(nodePtr->type ==XML_ELEMENT_NODE)

{

           object_setClass(self, [DDXMLElement class]);     //修改之后的 

//           self->isa = [DDXMLDocument class];         未修改之前的

}

elseif(nodePtr->type ==XML_DOCUMENT_NODE)

{

object_setClass(self, [DDXMLDocument class]);    // 修改之后的

//           self->isa = [DDXMLDocument class];         未修改之前的

}

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值