[iOS] Error Fixed : [__NSArrayI addObject:]: unrecognized selector sent to instance

从Chiplet到UCIE:D2D互联技术如何重塑半导体设计生态 本文探讨了D2D互联技术在半导体设计中的革命性作用,从Chiplet到UCIE标准的演进如何重塑行业生态。详细分析了D2D互联的技术本质、架构选择及UCIE标准带来的变革,并展望了未来光学D2D和3D集成等趋势。高速互联接口技术的突破为AI加速器和计算芯片提供了更高带宽和能效。 阅读详情

当我创建了一个NSMutableArray 对象的时候

@property (nonatomic,copy)NSMutableArray *children;

然后通过addObject运行就会报错,[__NSArrayI addObject:]: unrecognized selector sent to instance


解决方式:

1、通过理解,我们知道addObject后的array其实是变了,可能内存变大了,你可以理解成这个对象已经不是原来的了,就相当于没有定义一个具体实例对象一样。但通过@synthesize 默认的setter不能保证copy就一定等于mutableCopy;所以我们需要自定义自己的setter方法。

例如我的定义,在.m中增加我们自己定义的setter方法,让它进行mutableCopy即可。

-(void)setChildren:(NSMutableArray*) array{

    if(children != nil)

    {

        children = nil;

    }

    children = [array mutableCopy];

}

2、把copy变成retain,因为不是copy创建新内存和新赋值的话,原有实例对象就不会“全新”导致unrecognized selector sent to instance。
内部函数方式获取工序包容盒(最低点和最高点)PTHDSP_ask_box 内部函数方式获取工序包容盒(最低点和最高点)PTHDSP_ask_box。 阅读详情

相关推荐

NSArray越界崩溃解决方法

比较完美的解决了数组越界的问题, 在debug模式下会崩溃 , 在release不会崩溃 , 开发过程中 , 方便调试 , 正式环境中 减少崩溃.

[__NSArrayI addObject:]: unrecognized selector sent to instance

当我创建了一个NSMutableArray 对象的时候 @property (nonatomic,copy)NSMutableArray *children; 然后通过addObject运行就会报错,[__NSArrayI addObject:]: unrecognized selector sent to instance解决方式: 1. 在 ARC 环境下, 将 dataSource 修饰词 改

qq_32780047的博客 3679

2025浙江省道路路网矢量数据图层Shp数据最新版下载

2025浙江省道路路网矢量数据图层,shp格式,包含多级道路分类属性,路名等属性,包含全省几十万条道路,坐标系为WGS1984坐标系统

iOS 程序报错:reason: [NSArrayI addObject:]: unrecognized selector sent to instance

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI addObject:]: unrecognized selector sent to instance 0x4b17be0' 错误:NSArray 不能使用addObject:方...

dfgwang1202的博客 424

NSDictionary内部数据类型与unrecognized selector sent to instance 错误类型

本例的目的:从网站请求了天气信息,信息以Json的格式返回,通过解析数据把有关信息显示在界面 遇到的问题在于:把Json数据转换到NSDictionary类型中,通过键值来获取特定数据,将数据赋给label显示,但在编译时会出错 错误提示: [__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance 0x792ab510 错误解析:网上有一种说法是“由于对象被提前释放了,但在程序中仍然调用了该对象”,

团长的专栏 1万+

ios开发出现 -[__NSDictionaryM isEqualToString:]: unrecognized selector sent to instance 错误

出现这种问题的原因是在于解析json时,你拿到的对象可能已经不再是NSString 类型,而是NSDictionary类型。 所以你在对这个你以为是NSString类型的对象进行isEqualToString 的判断时,因对象不是NSString类型,所以无法响应isEqualToString消息。故而报错。 修正的方法是,确保你的这个类型是NSString类型。如果不能确保,在判断是否为空时,你

u012159964的博客 2645

-[__NSArrayI addObject:]: unrecognized selector sent to instance 0x1744523c0

出现这种报错,我之前也很疑惑,但看一下错误信息后明白了,我的可变数组被改成不可变数组了,不能使用addobject来添加数据,所以我就找代码中哪里别修改了,发现对数组做去重处理的时候被改变的让后改成这样就好了,mutablecopy方法是将就不可变数组转换为可变数组,然后就解决了问题!顺便打个广告,下面公众号是我自己业余时间维护的一个Scratch编程和青少年智力开发,提供免费的Scratch学习...

兵仔贾---的专栏 2611

unrecognized selector sent to instance问题原因之一及解决方法。

1. 自己遇到的问题: 2015-05-28 15:46:53.046 test[5298:146142] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString objectForKey:]: unrecognized selector sent

天道酬勤 2万+

NSArray中的__NSArray0、__NSSingleObjectArrayI、__NSArrayI,用runtime交换里面的方法

有一篇比较详细的文章说这三个,这里总结下https://www.aopod.com/2017/02/24/class-clusters/想写个类别把系统的NSArray中的方法替换掉,最多的是这么写Class myClass = NSClassFromString(@"__NSArrayI"); Method safeMethod=class_getInstanceMethod (...

likui1989的专栏 6306

'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to i

iOS 'NSInvalidArgumentException', reason: '-[__NSCFArray objectForKey:]: unrecognized selector sent to i 导致这个错误的原因在与,我想将jason传过来的NSArray,作为NSDictionary来操作,所以导致iOS不认。

风轻云淡 勇往直前 3984

-[__NSArrayI addObjectsFromArray:]: unrecognized selector错误

NSmutableArray报了-[__NSArrayI addObjectsFromArray:]: unrecognized selector的错误, 出错代码: @interface tableViewController () @property(nonatomic,strong) UITableView* tableview; @property(nonatomic,strong)

sinyran的专栏 6449

-[__NSArrayI addObject:]: unrecognized selector与-[__NSArrayM objectForKeyedSubscript:]: unrecognized

-[__NSArrayI addObject:]: unrecognized selector与-[__NSArrayM objectForKeyedSubscript:]: unrecognized selector sent to instance 0x7f85951278e0 网络数据时候又碰到这样的问题,我的代码@property(nonatomic,copy)NSMutableArray

liyiyiSmile的博客 5686

-[__NSDictionaryI setObject:forKey:]: unrecognized selector sent to instance

今天写代码时,出现这样的问题:-[__NSDictionaryI setObject:forKey:]: unrecognized selector sent to instance 0x7fb812d3f0c0 解决方法:NSDictionary是不可变字典,一旦赋值就无法改变。而我在不可变字典赋值后改变了它,我的代码如下self.dictArray[edit_row][@"ss_detail"]

闪星的博客 1万+

unrecognized selector sent to instance出现的原因和解决方案

造成unrecognized selector sent to instance iphone,大部分情况下是因为对象被提前release了,在你心里不希望他release的情况下,指针还在,对象已经不在了。 很多时候,是因为init初始化函数中,对属性赋值没有使用self.foo赋值,而是直接对foo赋值,导致属性对象没有retain(心里以为retain了),而提前释放。

FIGHTING的专栏 2万+

iOS_Bug收集(一)

Bug收集 1、数据问题 (空值,越界, 数据类型不对等问题) (1)   *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]  这个问题都是字典或数组空值引起的 (2) 

iOS_PING的专栏 4813

-[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc830110

定义了一个NSMutableArray,我也初始化了-->_localActivityDataArr = [NSMutableArray array]; 但是发现我在获取到网络数据后想重新赋值,将以前的值remove掉时发现方法错误---> -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0

xinxinNoGiveUp的博客 5175

[xxx objectForKey:]: unrecognized selector sent to instance 错误的另类原因

在项目开发过程中碰到[xxx objectForKey:]: unrecognized selector sent to instance 错误, 具体情形是这样的,在一个NSMutableArray *array = [NSMutableArray alloc ] init]; NSMyClassOne  *obj1 = [[NSMyClassOne alloc] init]; [a

yuanya的专栏 2513
上一篇: [iOS]retain\assign\copy的区别
下一篇: [cocos2dx]-继承CCSprite子类中的update方法启动遇到的问题解决
Chiuan
博客等级 码龄15年 165粉丝 57原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值