如何将 [__NSArrayI integerValue] 转换为整数值?
How To convert [__NSArrayI integerValue] to integer value?
这是我用来将对象转换为整数值的行,我在 For 循环中放置了这段代码
NSInteger tag=[[arrFullSubCategory valueForKey:@"category"] integerValue];
在 arrFullSubCategory 内:
(
{
category = 35;
image = "images/Hatchback.jpg";
name = Hatchback;
parent = 20;
},
{
category = 36;
image = "images/Sedan.jpg";
name = Sedan;
parent = 20;
},
{
category = 37;
image = "images/SUV.jpg";
name = SUV;
parent = 20;
}
)
异常:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI integerValue]: unrecognized selector sent to instance 0x7ff4ba58f930'
在 for 循环中尝试这段代码,希望对您有所帮助
NSInteger tag=[[[arrFullSubCategory objectAtIndex:i] valueForKey:@"category"] integerValue];
arrFullSubCategory
是一个数组,您应该首先到达它的元素。比你将有 NSDictionary
个对象。之后,您可以访问 category
元素。所以我认为你的代码应该是这样的:
for (NSInteger i = 0; i < arrFullSubCategory.count; ++i) {
NSInteger tag=[[[arrFullSubCategory objectAtIndex:i] valueForKey:@"category"] integerValue];
}
你有字典数组,所以你使用下面的代码
[[[arrFullSubCategory objectAtIndex:] objectForKey:@"category"] integerValue]
错误解释:
该错误意味着您有一个 数组 ,并且数组不响应 integerValue
。
您的变量 arrFullSubCategory
引用了一个数组(包含 3 个元素),每个元素都是一个字典。如果您在一个字典数组上调用 valueForKey:
,那么将对每个字典执行键查找,并为结果构造一个数组。在您的情况下,结果(使用文字语法)是数组:
@[ @35, @36, @37 ]
这个数组是否直接对您有用,或者您是否应该一次访问数组一个元素——使用循环或方法调用每个元素的块等——将取决于您的目标是什么。
HTH
这是我用来将对象转换为整数值的行,我在 For 循环中放置了这段代码
NSInteger tag=[[arrFullSubCategory valueForKey:@"category"] integerValue];
在 arrFullSubCategory 内:
(
{
category = 35;
image = "images/Hatchback.jpg";
name = Hatchback;
parent = 20;
},
{
category = 36;
image = "images/Sedan.jpg";
name = Sedan;
parent = 20;
},
{
category = 37;
image = "images/SUV.jpg";
name = SUV;
parent = 20;
}
)
异常:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI integerValue]: unrecognized selector sent to instance 0x7ff4ba58f930'
在 for 循环中尝试这段代码,希望对您有所帮助
NSInteger tag=[[[arrFullSubCategory objectAtIndex:i] valueForKey:@"category"] integerValue];
arrFullSubCategory
是一个数组,您应该首先到达它的元素。比你将有 NSDictionary
个对象。之后,您可以访问 category
元素。所以我认为你的代码应该是这样的:
for (NSInteger i = 0; i < arrFullSubCategory.count; ++i) {
NSInteger tag=[[[arrFullSubCategory objectAtIndex:i] valueForKey:@"category"] integerValue];
}
你有字典数组,所以你使用下面的代码
[[[arrFullSubCategory objectAtIndex:] objectForKey:@"category"] integerValue]
错误解释:
该错误意味着您有一个 数组 ,并且数组不响应 integerValue
。
您的变量 arrFullSubCategory
引用了一个数组(包含 3 个元素),每个元素都是一个字典。如果您在一个字典数组上调用 valueForKey:
,那么将对每个字典执行键查找,并为结果构造一个数组。在您的情况下,结果(使用文字语法)是数组:
@[ @35, @36, @37 ]
这个数组是否直接对您有用,或者您是否应该一次访问数组一个元素——使用循环或方法调用每个元素的块等——将取决于您的目标是什么。
HTH