Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为CalculatorBrain for Stanford CS193P实现退格_Objective C_Ios6 - Fatal编程技术网

Objective c 为CalculatorBrain for Stanford CS193P实现退格

Objective c 为CalculatorBrain for Stanford CS193P实现退格,objective-c,ios6,Objective C,Ios6,我希望为计算器项目实现退格功能 我可以在viewcontroller中添加一个包含以下代码的操作来处理它,但它不应该真正放在CalcModel中吗 [self secureSetDisplayText:([self.display.text substringToIndex:([self.display.text length]-1)])]; 因此,如果CalcModel要在不同的项目中重用,那么退格已经实现了 任何想法不,应该在ViewController中。然后,模型必须将更改传达给Vie

我希望为计算器项目实现退格功能

我可以在viewcontroller中添加一个包含以下代码的操作来处理它,但它不应该真正放在CalcModel中吗

[self secureSetDisplayText:([self.display.text substringToIndex:([self.display.text length]-1)])];
因此,如果CalcModel要在不同的项目中重用,那么退格已经实现了


任何想法

不,应该在ViewController中。然后,模型必须将更改传达给ViewController,而不是控制器将信息传递给模型。此外,模态只知道从ViewController传递给它的内容,因此控制器可以决定不向其传递数字。(按45,删除5,按enter键。模式不知道5是否存在,因为在激活控件(在控制器中)之前,该数字从未通过视图)。

因此,您的问题是……我应该在calcmodel或视图控制器中实现退格方法吗?我认为您的问题更适合Ok,我理解你的想法,但如果我想在其他地方重用CalcModel,这意味着我在复制验证功能,因此我认为它应该在CalcModel中。验证功能与backspace按钮有什么关系?一个检查输入是否有效,另一个只是更改输入是否正确?这是两件完全不同的事情。如果我将验证放在viewcontroller中,那么我必须在需要使用CalcModel的任何地方复制验证代码。此外,当按下每个数字时,它会被传递到CalcModel。每次按下一个数字,它会被传递到模型吗?看,这对我来说没有意义。我只会在输入整数时将其传递给模型(因此退格将在viewcontroller中结束)。否则,CalcModel需要处理将所有连续数字放在一起的问题。我将在CalcModel中输入的验证信息。