我在斯坦福 CS193p 的作业 2(在 iTunes U 上),我被 EXC_BAD_ACCESS 错误弄糊涂了。
在第一个作业中,我们使用了这样的东西:
- (IBAction)operationPressed:(UIButton *)sender {
//...
NSString *resultString = [NSString stringWithFormat:@"%g", result];
self.display.text = resultString;
}
这工作得很好。现在,我正在尝试类似的东西NSSet
:
+ (double)runProgram:(id)program{
NSMutableArray *stack;
NSSet *listOfFunctions = [NSSet setWithObjects:@"cos", @"sin", @"sqrt", "π", @"tan", @"neg", @"^", @"rad", @"+", @"-", @"/", @"*", nil];
//...
}
*listOfFunctions
当函数运行时,这会在行上与 EXC_BAD_ACCESS 一起崩溃。我的问题是:为什么第一个示例可以工作并从+ stringWithFormat:
函数中生成 NSString 而第二个示例不能生成 NSSet?我需要做些什么[[NSSet alloc] init]
吗?我也尝试过使用 NSSet + initWithObjects:
,但没有运气。