- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 Mutable NSArray 存储对象类型(ids - NSNumber、NSString),它将存储数字(1、2、3、4 等)、操作(+、-、/、* 等),和变量(x、y、z 等)。我将变量和相关值存储在 NSDictionary 中,键是 NSStrings,等于 x、y、z,NSNumber 值分别为 5、5、2。我想用存储在 NSDictionary 中的实际值替换 NSArray 中的变量。当我尝试替换对象时,我不断收到以下错误。请帮忙。
-[__NSArrayI replaceObjectAtIndex:withObject:]: 无法识别的选择器发送到实例
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithDouble:5],@"x",
[NSNumber numberWithDouble:5],@"y",
[NSNumber numberWithDouble:2],@"z",
nil];
+ (double)runProgram:(id)program
usingVariableValues:(NSDictionary *)variableValues;
{
// introspection - ensure program is NSArray and variableValues is NSDictionary
if ([program isKindOfClass:[NSArray class]] && [variableValues isKindOfClass: [NSDictionary class]])
{
// array for program stack
NSMutableArray *stack = [program copy];
// Loop to replace variables with actual values in NSDictionary
for (NSUInteger i = 0; i < [stack count]; i++)
{
NSLog(@"object at index = %@", [stack objectAtIndex:i]);
if ([[stack objectAtIndex:i] isKindOfClass:[NSString class]] && [[stack objectAtIndex:i] isEqualToString: @"x"])
{
// replace variable with value in corresponding value in dictionary
NSNumber *numberKeyValue = [variableValues objectForKey:@"x"];
[stack replaceObjectAtIndex:i withObject:numberKeyValue];
}
}
return 0
}
最佳答案
NSArray 的copy
方法总是返回一个不可变数组,不管原始数组是可变的还是不可变的。如果你想要一个可变副本,你需要使用 mutableCopy
。 (这是 Cocoa 的约定。NSString、NSDictionary 以及通常任何具有可变和不可变变体的类都将以相同的方式工作。)
关于objective-c - -[__NSArrayI replaceObjectAtIndex :withObject:]: unrecognized selector sent to instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11787802/
我在(可变)数组中有一个数组。我正在尝试用“replaceObjectAtIndex”替换某些对象。 我已经尝试过: [[mutableArrayName objectAtIndex:0]replac
我是 iOS 开发新手,在 replaceObjectAtIndex 时遇到错误。我的代码有什么问题吗?请帮助。谢谢。 self.myArray =array; for (NSDictionary *
在这里使用基本的 objective-c 示例,尝试对数组使用 replaceObjectAtIndex,但它似乎不起作用。 我的代码: NSMutableArray *myArray=[NSMut
在这里使用基本的 objective-c 示例,尝试对数组使用 replaceObjectAtIndex,但它似乎不起作用。 我的代码: NSMutableArray *myArray=[NSMut
我有一个 NSMutableArray,我在头文件中定义为: @property (strong, nonatomic) NSMutableArray *tempPhotosArray; 然后我分配为
我使用 xcode 9 NSMutableArray *Upcase_Keys = @[@"1",@"2",@"3",@"4,"@"5",@"6",@"7",@"8",@"9",@"0"]; NSSt
我想用其他值替换数组的内容, 这是我的数组值: [Arr objectAtIndex:i] = "End_Date" = "31 Mar 2014";
我有一个可变数组,最初我在使用范围时遇到了问题。我得到了一些关于如何解决这个问题的建议(这很有效),但现在数组不会替换给定索引处的对象。 这是代码: .h 文件: @interface myViewC
我有一个可变数组: NSMutableArray *array; 其中包含许多对象。 我应该使用以下哪一项: [array replaceObjectAtIndex:10 withObject:anO
为方便起见,我用一些工作代码编辑了上一篇文章。 以下代码 (ARC'ed) 似乎会泄漏,并会在短时间运行后使 sim 卡或设备崩溃: #define kROWS 100 #define kCols 3
我有两个多维 NSMutableArray。每个在主 NSMutableArray 中都有四个 NSMutableArray。我想将第一个数组中的一个位置的数据与第二个数组中的数据交换,并且我正在努力
我的应用程序崩溃,但标题中提到了异常。请在下面找到我的解释: 尝试在我的 TableViewController 中使用 NSUserDefaults 存储数组值,如下所示: func didDism
我有一个 Mutable NSArray 存储对象类型(ids - NSNumber、NSString),它将存储数字(1、2、3、4 等)、操作(+、-、/、* 等),和变量(x、y、z 等)。我将
我有一个 NSMutableArray,我需要碰碰它的值,但我有这个错误: [__NSArrayI replaceObjectAtIndex:withObject:]: 无法识别的选择器发送到实例 0
文档没有提到这一点。当一个旧的物体被“移除”并且一个新的物体进入它的位置时,那么旧的物体会发生什么?我必须自己发布吗? 最佳答案 不,您不必自己发布它。 如果替换对象的保留计数等于 0,您可能会收到错
你能帮我解决以下错误吗: 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“-[__NSCFArray replaceObjectAtInde
我是一名优秀的程序员,十分优秀!