我是Objective-C的新手。
[deskCalc add: 55];
NSLog(@"After adding %f to accumulator, accumulator is :%f", 55, [deskCalc accumulator]);
某些背景;这是一个简单的计算器程序的片段,看起来与this thread中第一篇文章中的相似。顾名思义,add方法将参数添加到整数变量“accumulator”中,该变量存储最终值。最后,accumulator方法只返回变量。
我的问题是:不是必须在字符串之后手动输入参数(在本例中为55),是否可以使用代码引用传递给add方法的任何参数(动态)?
答案 0 :(得分:2)
通常,您无法从之前的消息发送表达式中检索参数。
一个简单的解决方案是将值放在变量中并在两个位置引用它:
float addend = 55;
[deskCalc add: addend];
NSLog(@"After adding %f to accumulator, accumulator is :%f", addend, [deskCalc accumulator]);
IF deskCalc
对象经过特殊编码以跟踪上一个操作及其操作数,您可以询问它的值。在这里,我假设在类上存在lastAddend
属性并使用它:
[deskCalc add: 55];
NSLog(@"After adding %f to accumulator, accumulator is :%f", [deskCalc lastAddend], [deskCalc accumulator]);