在Swift 4中构建计算器

使用NSExpression构建计算器。

Swift语言从不让我惊讶于它提供的所有功能。 我给自己做了一个构建简单计算器作为编码组件的任务 我已经用Java构建了一个计算器,并且我想起了执行所有数学逻辑的“ if”和“ case”语句数量之多。 因此,我开始构建了自己的布局,如上面的屏幕所示。 我使用Snapkit布局视图。 这篇文章不会涵盖Snapkit,但您可以将其作为Snapkit的介绍来阅读

因此,我们将不使用“ if”或“ case”语句来执行所有计算。 您可能想知道怎么做? 我的意思是Swift将如何知道何时添加或减去或执行任何其他数学函数? 在Swift, NSExpression中进行数学运算时欢迎您的朋友 谁和什么是NSExpression

用于比较谓词的表达式。

NSPredicate中的比较操作基于两个表达式,由NSExpression类的实例表示。 为常量值,键路径等创建表达式。

这就是Swift文档中的定义。 没有告诉我们太多。 可以很容易地看到NSExpression的运行状况 ,以便更好地了解其功能。

 let mathExpression = NSExpression(format: "16 + 30") let mathValue = mathExpression.expressionValueWithObject(nil, context: nil) as ? Int 

是的,这就是进行数学😱👏🏾🎉所需的全部代码。 NSExpression的计算方式比简单的数学方程式还多。 此处的这篇帖子通过NSExpression及其可以为您提供的功能进一步深入。

因此,在上面的一个功能中,我能够为我的计算器执行所有必要的数学计算。

正是由于这样,我才建立了一个功能齐全的计算器。 最终计算器具有许多其他功能,例如用户操作的历史记录以及能够返回到先前操作的功能。 您可以在我的Github页面上查看完整的实现。

妈妈,没有情节提要!

作为一名自学成才的iOS开发人员,他通过使用以下方法观看Youtube教程和在线课程来学习大多数技能:

medium.com