小背景: 我在教自己如何编程iOS。所以我是一个初学者。 我只是不能把我的头围绕这个问题。编写使用NSDictionary将变量转换为数字的方法遇到问题
我有一个方法,基本上应该采取一个按钮上的变量,将该变量传递给我的变量转换方法。
变量转换方法只是应该通过预定义的NSDictionary
并基本上搜索变量并返回相关的值。
然后用该相关变量更新显示。
即,如果x的值是2,那么当我按下x时,屏幕应该只会说出2. 我只是试图教自己NSDictionary和所有的,所以任何帮助将是伟大的。
- (IBAction)variablePressed:(id)sender {
NSDictionary *values = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:2], @"x",
[NSNumber numberWithInt:4], @"y",
[NSNumber numberWithInt:6], @"z", nil];
double newValue = [self.brain convertVariable:[sender currentTitle] usingVariableValues:values];
// NSLog([NSString stringWithFormat:@"%d", newValue]);
}
该代码崩溃与NSLog
一行。我评论说,因为我无法得到它的工作。
是的,请缩小到一个特定的问题。没有人会考虑你的整个项目,并猜测你遇到了什么问题。 – 2012-04-07 07:12:11
当然, 只有一种方法需要帮助。位于CalculatorViewController.m中的方法 该方法的名称是 - (IBAction)variablePressed(第62行)。 该程序似乎崩溃在已被注释掉的第69行。我试图使用NSLog来查看变量newValue是否被分配了一个值,但是我可以用NSLog – khaliq 2012-04-07 07:32:36
尝试%f而不是%d来打印该变量。 d代表数字不加倍。错误是EXC_BAD_ACCESS正确吗? – borrrden 2012-04-07 08:30:19