iOS开发笔记--[__NSArrayI addObjectsFromArray:]: unrecognized selector错误

操作NSMutableArray数字增加和删除时候出现崩溃,报错[__NSArrayI addObjectsFromArray:]: unrecognized selector。

找了一个小时,发“__NSArrayI”这个提示比较重要。查了一下发现

__NSArrayI is a code-word for an immutable array - that is, a "regular" NSArray which you cannot change.

__NSArrayM is a code-word for a mutable array - that is, NSMutableArray. In NSMutableArray, you can add and remove items.

实际上NSArrayI是NSArray.

NSArrayM才是NSMutableArray.

奇怪,我明明是声明的是NSMutableArray. 怎么突然变成了NSArray.

排查代码才发现,在拷贝数组时候用了 .copy 来拷贝,而NSMutableArray拷贝数组时候需要用 .mutableCopy !!!

时间: 2025-01-02 13:09:46

iOS开发笔记--[__NSArrayI addObjectsFromArray:]: unrecognized selector错误的相关文章

ios开发笔记----exc_bad_access(code=1, address=0x789870)野指针错误,假死debug状态

错误原因: exc_bad_access(code=1, address=0x789870)野指针错误,主要的原因是,当某个对象被完全释放,也就是retainCount,引用计数为0后.再去通过该对象去调用其它的方法就会出现野指针错误. 例如: Person *jerry = [[Person alloc]init];  //  retainCount引用计数为1 [jerry eat];  //  调用吃的方法 [jerry release];  //  释放jerry这个对象到 retain

IOS开发笔记-百度地图(第三方库)

最近做了百度地图,在导入SDK后遇到了一些问题 编译错误: linker command failed with exit code 1 (use -v to see invocation) 想了很多办法,查了很多资料,最后终于解决. 可能原因: 1. 有重复的.m文件,或者未导入 解决办法:有重复的删除即可 在工作左边导航栏Target-->Build Phases-->compile Sources中,第三库库的所有.m文件都添加到里面 2.Valid Architectures 的值 在

__NSArrayI removeObjectAtIndex:]: unrecognized selector sent to instance

同样是删除cell问题,帮我看看问题出现在哪,谢谢! 我的类文件myFile是继承UIViewController的(目的是为了能够在一个view里切换不同的tableView),在myFile.h中定义一个可变数组editContactsList,然而在IB里面添加了一个view,两个tableView,在下面方法里面报错(有注明具体位置)- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCell

【三分钟视频教程】iOS开发中 Xcode 报 apple-o linker 错误的#解决方案#

[三分钟视频教程]iOS开发中 Xcode 报 apple-o linker 错误的#解决方案# [三分钟视频教程]iOS开发中 Xcode 报 apple-o linker 错误的#解决方案#,布布扣,bubuko.com

iOS开发笔记-两种单例模式的写法

iOS开发笔记-两种单例模式的写法 单例模式是开发中最常用的写法之一,iOS的单例模式有两种官方写法,如下: 不使用GCD #import "ServiceManager.h" static ServiceManager *defaultManager; @implementation ServiceManager +(ServiceManager *)defaultManager{ if(!defaultManager) defaultManager=[[self allocWith

【IOS开发笔记02】学生管理系统

端到端的机会 虽然现在身处大公司,但是因为是内部创业团队,产品.native.前端.服务器端全部坐在一起开发,大家很容易做零距离交流,也因为最近内部有一个前端要转岗过来,于是手里的前端任务好像可以抛一大坨出去了,这个时候立刻想到了切入IOS开发!!! 事实上,前端开发做到一定时间,要进步很难了,最近几个月扑到业务上便感觉突破不了目前的瓶颈,自身的前端瓶颈主要在两方面:技术深度.技术广度 其实不论深度或者广度来说都不是简单前端能说清楚的事情,不能说了解了angularJS.react等框架技术深度

IOS科研IOS开发笔记学习基础知识

这篇文章是我的IOS学习笔记,他们是知识的基础,在这里,根据记录的查询后的条款. 1,UIScrollView能完毕滚动的功能. 示比例如以下: UIScrollView *tableScrollView; tableScrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];//窗体大小 tableScrollView.contentSize=CGSizeMake(640, 480);//设置内容视图的大

iOS开发笔记--静态库的制作与使用

一.iOS项目中库的使用 1.开源库 * 公开源代码,能看到具体实现 *比如SDWebImage.AFNetworking 2.闭源库 * 不公开源代码,是经过编译后的二进制文件,看不到具体实现 * 主要分为:静态库.动态库(注意自己制作的动态库不能上传到appStore) 二.本文首先讲的的是静态库的制作以及使用 1.新建静态库项目 新建静态库项目选择cocoa Touch Static Library 然后编写核心代码 2.分别在真机和模拟器下编译生成对应环境的静态库 (注意真机文件夹下得静

IOS研究之IOS开发笔记基础知识学习

本文是我的IOS学习笔记,都是基础的知识点,在这里记录下方面以后查询. 1,UIScrollView视图类能完成滚动的功能. 示例如下: UIScrollView *tableScrollView; tableScrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];//窗口大小 tableScrollView.contentSize=CGSizeMake(640, 480);//设置内容视图的大小 ta