现在我正在开发一个iPhone项目,我正在使用类NSMutableArray
的实例,并且在执行时突然无法将NSMutableArray
转换为UICachedDeviceRGBColor
变得无法使用
我不知道该怎么做,同样的物体一直运作到今天。
我收到了这个错误:
*** -[UICachedDeviceRGBColor count]: unrecognized selector sent to instance 0x4b3e440
答案 0 :(得分:4)
下次,将代码贴在问题中,而不是评论中。这里格式很好:
NSMutableArray *currentIngsGroup = [[NSMutableArray alloc] init];
currentIngsGroup = (NSMutableArray *)[allIngredientGroups objectAtIndex:0];
NSLog(@"accesing array %d", [currentIngsGroup count]);
通常,我会说你描述的症状表明你过度释放某些东西。但是,代码表明了对Objective-C的基本缺乏理解。我建议阅读Introduction to Objective-C文件。
特别是,您在第一行代码中分配了一个NSMutableArray实例。但是,第二行会立即覆盖可变数组引用,并引用allIngredientGroups
数组索引0处的任何对象。
(NSMutableArray *)
完全没必要。它不会强制数组中的任何对象都是可变数组,并且由于-objectAtIndex:
返回(id)
,因此不需要强制转换。
BTW:第一行分配的阵列正在泄露。再次阅读objective-c的介绍以了解原因。