首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cs193p分配2

cs193p分配2
EN

Stack Overflow用户
提问于 2012-03-16 07:23:02
回答 1查看 852关注 0票数 2

我正在iTunes U上学习CS193P课程,有一个关于作业#2 (可编程计算器)的问题。我看到了关于这个主题的其他问答,但没有一个直接解决我的问题。希望有人能帮上忙。

在赋值中,它调用一个方法

代码语言:javascript
复制
+ (double)runProgram:(id)program usingVariableValues:(NSDictionary *)variableValues;

它使用NSDictionary (不可变类型)作为参数。字典将包含变量名称(键)和相应的值(各种类型的数字)。这些值来自于按下称为“测试1”、“测试2”和“测试3”的3个特殊键中的一个。我可以在第一次将这些值放入字典,但如果用户在第二次或第三次测试中按下某个键,则无法找到将它们放入字典中的方法。我似乎无法更改字典中的值或销毁字典(取消分配和释放在XCode 4.3/iOS5中启用ARC时不起作用),所以我可以创建一个新的字典。我觉得我肯定遗漏了一些明显的东西,但不知道是什么。任何帮助,我可以做以上任何一项,将不胜感激。

(我意识到我可以使用可变版本的NSDictionary,但赋值特别说明了使用不可变版本-如果我理解正确的话)。

EN

回答 1

Stack Overflow用户

发布于 2012-03-28 09:01:35

您应该在操作中为这些按钮创建一个NSDictionary *对象。您可以有一个需要发送者的操作,也可以有三个操作,这两个操作都可以。在创建NSDictionary所需方法中,您可以分配initWithObjectsAndKeys,也可以作为NSMutableDictionary添加。最后,您应该通过调用[CalculatorBrain descriptionOfProgram:self.brain.program usingVariableValues:variableValues];将这些值传递给该方法

您使用NSDictionary的可变版本是正确的,但这只是您描述的参数。当您按下按钮时,您可以以任何您想要的方式创建字典。希望这能有所帮助,我前几天刚刚完成了这项任务,所以我很高兴能澄清一下。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9729690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档