我尝试从周日开始以 100 种方式初始化 NSMutableArray,但没有任何效果。我尝试将其设置为等于新分配和初始化的 NSMutableArray,只需分配并自行初始化变量,我能想到的每种组合都总是相同的结果。
这是代码:
Object.h
NSMutableArray *array;
@property (copy) NSMutableArray *array;
Object.m
@synthesize array;
if ( self.array ) {
[self.array addObject:anObject];
}
else {
self.array = [NSMutableArray arrayWithObjects:anObject, nil];
}
注意:在调试中,“anObject”在执行时不为零...
我已经测试了一个对象,它的初始化工作得很好,但是当我尝试将对象添加到 self.array 时,我不断收到下面的错误。
2010-07-10 11:52:55.499 MyApp[4347:1807] -[__NSArrayI addObject:]:无法识别的选择器发送到实例 0x184480
2010-07-10 11:52:55.508 MyApp[4347:1807] *** 由于未捕获的异常而终止应用程序
'NSInvalidArgumentException',原因:'-[__NSArrayI addObject:]:无法识别的选择器发送到实例 0x184480'
有谁知道出了什么问题吗?
合成的 setter 为@property (copy)
发送一个copy
消息发送到数组,这会产生一个不可变的副本。
你别无选择,只能在这里自己实现设置器,因为detailed http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html#//apple_ref/doc/uid/TP30001163-CH17-SW32在 Objective-C 指南中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)