加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 类别中的方法在升级到Xcode 4.2 / iOS 5后引发异常

发布时间:2020-12-14 17:20:49 所属栏目:百科 来源:网络整理
导读:我有一个使用shuffle方法扩展NSMutableArray的类别.该类别在.h文件中声明和实现,该文件包含在.pch文件中.在iOS 3.xx和4.xx上工作正常. 我昨天安装了 Xcode 4.2.重新编译应用程序,基本SDK设置为5.0,部署目标为3.2 throws – [__ NSArrayM shuffle]:无法识别
我有一个使用shuffle方法扩展NSMutableArray的类别.该类别在.h文件中声明和实现,该文件包含在.pch文件中.在iOS 3.xx和4.xx上工作正常.
我昨天安装了 Xcode 4.2.重新编译应用程序,基本SDK设置为5.0,部署目标为3.2 throws – [__ NSArrayM shuffle]:无法识别的选择器发送到实例…

我试过iPhone 5.0模拟器,iPad 5.0模拟器,iOS 5的iPhone 4G – 没有区别.

现在,如果我将声明/实现移动到.m,其中实现了发送shuffle消息的类,那么app运行正常.
原始.h确实被导入 – 如果我只是将代码从原始.h复制到.m,编译器会抱怨重复声明.

解决方法

升级到Xcode 4.2导致编译器从GCC更改为Apple LLVM. LLVM不喜欢.pch中的实现.将实现提取到.m文件,直接导入原始.h,用GCC编译都可以解决问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读