我在这段代码有一段一直盯着现在,却无法找出在世界上是错误的。我有一个名为SortFilteringController的类,它管理我在系统中的不同过滤(内部过滤器,公共过滤器,排序选项等)。其中每个都存储在一个数组中。所以我有一个易于理解的方法,它基本上使用这些数组中的任何一个,并用一些新数据重置它们。NSArray的深拷贝会导致崩溃

例如,setInternalFilter,只是调用它。

- (void) setInternalFilterTerms : (NSArray*) filterTerms {

[self resetArray: &_internalFilters withNewData:filterTerms];

}

resetArray的定义,只是转储现有的(释放它),并复制新的数据。

- (void) resetArray: (NSMutableArray**) oldArray withNewData : (NSArray*) newData {

if (*oldArray != nil) {

[*oldArray release];

}

NSMutableArray* newArray = [[NSMutableArray alloc] initWithArray:newData copyItems:YES];

*oldArray = [newArray retain];

[newArray release];

}

但我的问题是我在重置方法中崩溃。不在模拟器中,仅在设备上。

Thread 0 Crashed:

0 libsystem_kernel.dylib 0x331a3a1c __pthread_kill + 8

1 libsystem_c.dylib 0x3404c3b4 pthread_kill + 52

2 libsystem_c.dylib 0x34044bf8 abort + 72

3 libstdc++.6.dylib 0x30e4fa64 __gnu_cxx::__verbose_terminate_handler() + 376

4 libobjc.A.dylib 0x30fda06c _objc_terminate + 104

5 libstdc++.6.dylib 0x30e4de36 __cxxabiv1::__terminate(void (*)()) + 46

6 libstdc++.6.dylib 0x30e4de8a std::terminate() + 10

7 libstdc++.6.dylib 0x30e4df5a __cxa_throw + 78

8 libobjc.A.dylib 0x30fd8c84 objc_exception_throw + 64

9 CoreFoundation 0x33e5f1b8 -[NSObject(NSObject) doesNotRecognizeSelector:] + 96

10 CoreFoundation 0x33e5e642 ___forwarding___ + 502

11 CoreFoundation 0x33dd5178 _CF_forwarding_prep_0 + 40

12 CoreFoundation 0x33dcb156 -[NSArray initWithArray:range:copyItems:] + 366

13 CoreFoundation 0x33dcafce -[NSArray initWithArray:copyItems:] + 54

14 Wine DB 1.1 0x001b6a2a -[SortFilterController resetArray:withNewData:] (SortFilterController.m:1310)

15 Wine DB 1.1 0x001b4188 -[SortFilterController setInternalFilterTerms:] (SortFilterController.m:733)

我使用iOS 5.0 GM种子运行xcode 4.2。我的设备仍在运行4.1.3。但是,这不应该有所作为吧?错误是“doesNotRecognizeSelector”。这很奇怪。

谢谢。

2011-10-07

Yenyi

+0

请把错误的全文 - 我发现那里有迹象表明存在于模拟接口的情况下,而不是设备。它不识别哪个选择器? –

nsarray 释放_NSArray的深拷贝会导致崩溃相关推荐

  1. nsarray 释放_NSArray中地内存管理 理解

    通过alloc和init的方法创建了NSArray和NSDictionary,然后通过addobject和setobject:forkey:将object添加进去.通过addobject会自动将我的o ...

  2. cocos creater 热更重启导致崩溃

    cocos creater 热更重启导致崩溃 知识点 jsb_websocket_server.cpp 游戏中用到的 socket inspector_socket_server.cc V8引擎中 用 ...

  3. PyQt5随笔:PyQt5 程序在开机自启动时读取文件出错导致崩溃解决办法

    PyQt5随笔:PyQt5 程序在开机自启动时读取文件出错导致崩溃解决办法 1.前言 最近在写一个 Python+pyqt5 小项目,在改善过程中想添加一个日志记录,我是打算用txt 文件记录就好,操 ...

  4. iOS textfield textview 三方键盘的联想 或者 iPad键盘undo导致崩溃

    有时候输入框在控制字数等代码实现后, 尤其ipad的键盘上undo撤销按键等会导致文本内容长度越界导致崩溃, 崩溃位置或无法用全局断点截到. 但是看Xcode里会有reson信息 reason __N ...

  5. 【问题解决】Android JDK版本不匹配导致崩溃踩坑记录

    [问题解决]Android JDK版本不匹配导致崩溃踩坑记录 部分机型反馈崩溃问题 谷歌回复与解决方案 Android打包脱糖操作 对比与排查 总结 前几天同事遇到一个非常诡异的报错,紧急处理后,趁着 ...

  6. XZ_iOS之将图片保存到手机导致崩溃的问题

    使用 UIImageWriteToSavedPhotosAlbum 保存图片崩溃, 且没有出现是否允许 app 读取相册的弹窗 解决思路 : 1> 图片太大导致的,换成本地图片依旧崩溃,说明不是 ...

  7. QMAP导致崩溃问题分析

    在使用QMAP的过程中发现导致程序崩溃的神奇问题,很有代表意义,所以把分析过程写出来,与大家共同学习. 文章目录 一.问题描述 二.源码分析 三.调试代码 四.修改方法 一.问题描述 while(1) ...

  8. ligertree内容过多导致崩溃_师傅崩溃了!自身是8年的老师傅,料也没问题,但每次都堵管...

    更多关于工程机械的资讯,点击上方关注铁妹 ​最近,铁妹收到一个求助帖子:里面自身就是一位拥有8年经验的老师傅,料也没有问题,但每次打泵就堵管. 不仅自身崩溃,还耽误了工期,在这里铁妹将网友提出的解决方 ...

  9. redis 命令 释放连接_redis scan命令导致redis连接耗尽,线程上锁的解决

    使用redis scan方法无法获取connection,导致线程锁死. 0.关键字 redis springboot redistemplate scan try-with-resource 1.异 ...

最新文章

  1. Linux下两个进程可以同时打开同一个文件,这时如下描述错误的是:
  2. 乘风破浪的Seq2Seq模型:在事件抽取上的应用
  3. C++中this指针的用法详解
  4. P3206 [HNOI2010]城市建设
  5. 什么笔记本电脑好用_苹果笔记本好用吗?苹果笔记本怎么样?
  6. RPM包实现LAMP
  7. 一种语音识别模型的训练方法及装置与流程
  8. 每天一道剑指offer-从上往下打印二叉树
  9. 大学生数学建模赛题解析及优秀论文-2021电工杯A题高铁牵引供电系统运行数据分析及等值建模(附Python代码)
  10. SSRF利用 Gopher |Gopher攻击mysql及内网
  11. 基于cooja的RPL OF的修改与仿真
  12. Linux下强制关闭程序
  13. 卡券优惠接口对接开发源码
  14. java识别汉字个数_统计字符串中汉字的个数
  15. JPEX受邀参加Blockchain Fest 2022展位爆棚成为全场最靓的仔
  16. 凹凸实验室的过去与未来
  17. 【Linux】ps -ef|grep详解
  18. 新品推荐【旺旺食神猪】来了!!!
  19. Mastering Microsoft Teams 免积分下载
  20. windows免费安装redis desktop manager

热门文章

  1. (转载)关于O2优化
  2. JSO字符串和Object相互转换
  3. 【全解析】屏幕尺寸/分辨率/像素/PPI之间到底什么关系?
  4. 2021年危险化学品经营单位安全管理人员考试及危险化学品经营单位安全管理人员考试总结
  5. 汉文博士 0.5.7.2386 发布:更新统一码第 11 版的数据库
  6. 用Python编程创建一个10*10的ndarray对象,且矩阵边界全部为1,里面全部为0
  7. 商务部首次明确支持无人商店;重庆邮电大学大数据智能研究院今揭牌成立
  8. 交流接触器的选型知识
  9. 基于轮廓提取的 图像填充法
  10. php json 压缩传输,详解PHP如何将返回的JSON数据用gzip压缩输出