如何在swift、IOS中实现计数和滴播功能?

如何在swift、IOS中实现计数和滴播功能?,ios,xcode,swift,Ios,Xcode,Swift,我正在用Swift做计算器。卡在退格按钮中。如果用户按错了数字,则退格按钮将有助于删除显示器上的数字 虽然我写了dropLast函数,而且很管用。它返回适当的结果。如何使用计数方法,不了解计数方法的返回类型 @IBOutlet weak var display: UILabel! @IBAction func backspace() { //how to use count method to check collection of elements //dro

我正在用Swift做计算器。卡在退格按钮中。如果用户按错了数字,则退格按钮将有助于删除显示器上的数字

虽然我写了dropLast函数,而且很管用。它返回适当的结果。如何使用计数方法,不了解计数方法的返回类型

 @IBOutlet weak var display: UILabel!
    @IBAction func backspace() {
      //how to use count method to check collection of elements
      //dropLast drop the last digit and display result
       let dropedDigit = dropLast(display.text!)
       display.text = dropedDigit    
    }

像这样的怎么样:

private func dropLast(text: String) -> String {
    let endIndex = advance(text.endIndex, -1)
    return text.substringToIndex(endIndex)
}
它计算要在其中生成text-1的cut-endIndex的索引,然后将子字符串返回到此索引。此函数应删除最后一个字符


这里我不使用计数方法,但请参考Swift 1.2介绍的计数方法,该方法计算包括字符串在内的集合的长度。

我知道该线程已经过时,但我只是在Swift 2.2中完成了这项工作,我想我可以帮助回答这个问题

@IBAction func delButton(sender: AnyObject) {
    if display.text != nil {
        var tempString = Array(display.text!.characters)
        tempString.removeLast(1)
        display.text = ""
        for num in 0..<tempString.count {
            display.text = display.text! + String(tempString[num])
        }
    }
}
基本上,我们正在检查显示标签中是否包含内容,这样我们就不会抛出错误,如果是,则在函数范围内生成一个变量,将标签的字符单独保存在字符串中。之后,我们从数组中删除最后一个字符,清除标签以确保我们没有将已经存在的内容添加到新值中,然后迭代更新的字符数组并将其添加到标签中

需要注意的是,我们将数组中包含的值强制转换为字符串,因为它们已作为字符值放入数组中,其操作方式与标签期望的字符串值不同


正如我所说,我知道这条线索有点过时,但我一直在学习Swift的课程,发现虽然Objective-C的信息太多了,但关于如何在Swift中做这些事情的信息却少得可怜。由于语言不断更新,我注意到这两种语言之间的差距越来越大。

什么是进步?这个功能是什么?还有swift库中的substringtoindex函数?我相信我用swift 1.2 Xcode 6.3尝试过。苹果上周在Xcode 7测试版中推出了Swift 2。您使用哪个Xcode/Swift版本?前进、计数和子索引是函数的基础,我相信,只是忘记添加,SWIFT 2中的语法已经改变,因此放弃了。