【问题标题】:First Swift Calculator第一个 Swift 计算器
【发布时间】:2016-02-26 05:00:58
【问题描述】:

我正在学习 Swift,我决定不要总是从视频中复制代码,而是尝试自己构建一些东西。

我尝试在 Playground 中制作一个计算器,看看是否能解决问题,我想出了这个。这是一个好方法吗?或者在我开始 Xcode 项目之前有人有任何反馈吗?

var result: String = ""

var plusClicked = false
var equalsClicked = false

var firstNumber: Int = 0
var secondNumber: Int = 0

func clickNumber(number: Int) {
    if equalsClicked == true {
        equalsClicked = false
        result = "" 
    }
    
    if plusClicked == true {    
        firstNumber = Int(result)!
        result = "\(number)"       
    } else {    
        result = result + "\(number)"  
    }
}

func clickPlus() {
    plusClicked = true
}

func clickEquals() {
    secondNumber = Int(result)!
    
    if plusClicked == true {
        result = "\(firstNumber + secondNumber)"
        plusClicked = false
    }
    
    equalsClicked = true
}

【问题讨论】:

  • if equalsClicked == true { 是多余的。只需将其更改为 if equalsClicked { ... }
  • 我投票决定将此问题作为题外话结束,因为完全题外话。
  • 不要破坏这个问题。如果你想删除它,删除它。或为版主标记。但不要滥用问题字段来评论问题的质量。

标签: ios swift calculator swift-playground feedback


【解决方案1】:

首先,游乐场的工作方式通常与成熟的应用略有不同。它们非常适合测试事物,但在涉及相对复杂的业务逻辑时不是很好。

可以通过多种方式完成计算器。你选择的那个特别复杂,而且很泥泞。你似乎做了很多无用的事情。首先让我印象深刻的是所有这些字符串。如果您正在处理数字,为什么要如此依赖字符串?此外,您采用的一般方法不是很灵活。我知道您只实现了加法,但您似乎认为您只会将两个数字相加。实际上,您可能希望在达到“等于”之前对几个进行链式求和并获得总计。

现在,如果您的目标是学习 Swift 作为一门语言,那么(几乎)任何方法都是好的。然而,在这里我怀疑你需要学习的不仅仅是语言——但我不认识你,我可能完全错了。

【讨论】:

  • 我并不是要粗鲁,但即使是您在此处采用的计算方法也需要进行深入的重新思考 :)
【解决方案2】:

我刚开始快速学习 swift,前几天我尝试阅读我能找到的每一本书并观看每一个视频教程。但我发现(到目前为止)我学到的最多的东西是从构建应用程序中学习,我只是不断尝试逐步提高,并从每个步骤中学习。我坐下来,拿了一些纸,设计了我的应用程序最终应该是什么样子,并带有一堆高级功能,我不确定我是否会理解如何创建这些功能。但是我已经比我想的更进一步了,因为当你在下一步遇到障碍并尝试解决它时,你会学到很多东西。

所以找出你想要的应用程序,不要把标准设置得太低!这就是我的建议!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多