0

我的 NSMutableArray 存储类对象。这是类(我在 .m 中初始化了所有变量):

@interface positionInfor : NSObject
{
  @public
  double xPos;
  double yPos;
  double degree;
  int    accuracy;
  BOOL   flag;
}
@end

当我想使用 setValue 函数为标志变量设置新值时:

//avgDataTwo is NSMutable array stores all the class objects.
[[avgDataTwo objectAtIndex:i+1]setValue:@"TRUE" forKey:@"flag"];

它给了我这个错误:

 -[__NSCFConstantString charValue]: unrecognized selector sent to instance 0x1000086a8

我确信我的所有数据都在数组中(发生错误时,(i+1)等于2):

在此处输入图像描述

谢谢 !!!

4

1 回答 1

1

您正在为键设置一个字符串值。您确实需要传递一个对象,但您应该传递一个带有布尔值的 NSValue / NSNumber。有捷径:

[[avgDataTwo objectAtIndex:i+1]setValue:@YES forKey:@"flag"];

或者更详细的方式:

[[avgDataTwo objectAtIndex:i+1]setValue:[NSNumber numberWithBool:YES] forKey:@"flag"];
于 2013-07-26T01:44:54.707 回答