Swift Calculator iOS练手项目

Swift 的计算器程序,来自斯坦福的公开课,真挺适合刚入门 iOS 开发的你练练手。代码不复杂,但知识点扎实,UI、事件、MVC 架构全都有,练完一遍基本就能跑起来个小 App 了。UI 部分用的是 Storyboard,响应也快,逻辑也清晰,按钮一按,输出就有反应,手感不错。

Swift 的语法风格干净,变量letvar该怎么用一目了然。尤其是你想搞清楚IntDouble怎么转换,直接看这份代码就知道怎么写最顺手。

运算符重载也安排得比较清楚,自己定义加减乘除其实没那么难。比如把+重写一下就能做一些“更聪明”的加法。再配合一下switch写条件判断,逻辑也比较自然。

UI 方面用的 Xcode 的Storyboard,不是 SwiftUI,但好处是控件拖一拖就能连上事件,配合IBActionIBOutlet,点哪个按钮、触发什么函数,一清二楚。

函数闭包写得也不绕,像performOperation这种函数,逻辑都封装得好,看懂了你也能自己写一套逻辑来跑别的运算。

另外架构方面是经典的MVC 模式,把数据逻辑和界面分开,结构清爽。你要是想以后做点复杂功能,比如加个历史记录、支持括号运算,照着这结构扩展也方便。

嗯,对了,代码里也考虑了除以 0这种常见错误的,不然运行的时候一下崩了你都不知道为啥。调试时可以用 Xcode 的断点,配合控制台看输出,还挺方便的。

,如果你刚学完 Swift 语法,不知道接下来该练什么,不妨下个calculator.xcodeproj试试手,既能练手速,也能练脑子。

如果你对运算符重载函数结构这些东西还想继续挖掘,推荐你去看看这篇这篇,虽然是 C++写的,但思想都通的。

zip
calculator.xcodeproj.zip 预估大小:6个文件
folder
calculator.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
file
contents.xcworkspacedata 155B
folder
xcuserdata 文件夹
folder
edieyoung.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 21KB
file
project.pbxproj 16KB
folder
xcuserdata 文件夹
folder
edieyoung.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 572B
file
calculator.xcscheme 4KB
folder
xcdebugger 文件夹
file
Breakpoints_v2.xcbkptlist 91B
zip 文件大小:19.31KB