0
Objective-C这里的新手,在iOS5的编程计算器上工作。初始化和访问NSDictionary的内容
一切正常,与普通的旧数字:
- (void)pushOperand:(double)operand
{
[self.programStack addObject:[NSNumber numberWithDouble:operand]];
}
但是,当我创建一个测试号的字典变量,像这样:
- (void) pushOperandAsVariable:(NSObject *)variable
{
//Create dictionary
NSArray *objects = [[NSArray alloc] initWithObjects:[NSNumber numberWithDouble:3],[NSNumber numberWithDouble:4.1],[NSNumber numberWithDouble:-6],[NSNumber numberWithDouble:4.5298], nil];
NSArray *keys = [[NSArray alloc] initWithObjects:@"x",@"y",@"z",@"foo", nil];
NSDictionary *variableValues = [[NSDictionary alloc] initWithObjects:objects forKeys:keys];
NSNumber *operand;
//Check variableValues for keys
for (int i=0; i<keys.count; i++)
{
if ([keys objectAtIndex:i]==variable)
operand = [variableValues objectForKey:variable];
}
NSLog(@"%@, %@",variable,operand);
[self.stackOfThingsSinceLastClear addObject:operand];
}
中的NSLog在倒数第二行总是出现“x,(null)”。我错过了什么,我的操作数正在消失?
这个问题不是关于操作数或计算器,它是关于初始化一个'NSDictionary'并访问它的内容。你应该这样称呼它。 – bdares 2012-07-30 00:51:42
@bdares - 其实,问题是关于不知道这个问题是关于什么的。 – 2012-07-30 00:53:34
@ bdares - 完成。对于那个很抱歉! – 2012-07-30 01:06:14