下面的代码试图在按下按钮时为数组中的每个新条目建立索引。因此,在按下按钮时会自动对元素进行排序。

          var arrayOfInt = [Int]()
    @IBAction func submitText(_ sender: Any) {
        if let text = enterText.text {
            if let number = Int(text) {
                var index = 0
                for num in arrayOfInt {
                    if num > number {
                        arrayOfInt.insert(number, at: index)
                        break
                    }
                    index += 1
                }
                print(arrayOfInt)
            } else {
                print("Please enter number")
            }
        }}


当打印时,这就是要输出的内容。没有数字被打印。

最佳答案

最初,arrayOfInt是空数组。所以它永远不会进入这个数组,因为数组是空的

  for num in arrayOfInt {
   //Whatever is here
  }


无论您要实现什么,您的逻辑都是错误的。

数组已经有sort(by:(Element,Element)-> Bool)方法
您最好编写如下代码:

 var arrayOfInt = [Int]()
@IBAction func submitText(_ sender: Any) {
    if let text = enterText.text , let number = Int(text) {
            arrayOfInt.append(number)
            arrayOfInt.sort { return $0 > $1 } //Modify accordingly the order you want

            print(arrayOfInt)
        } else {
            print("Please enter number")
        }
    }

10-05 21:18