【发布时间】:2017-10-27 03:49:58
【问题描述】:
我的代码应该使用元组对字符串和 int 进行排序。 String 应该按照 a-z 的顺序排列,而 int 应该按照 9-1 的顺序排列。现在没有订单被保留,也没有被排序。
import UIKit
class ViewController: UIViewController {
var number = [Int]()
var yourArray = [String]()
@IBOutlet var txtb: UITextField!
@IBOutlet var txta: UITextField!
@IBAction func move(_ sender: Any) {
yourArray.append((txta.text!))
number.append(Int(txtb.text!)!)
let tuples = zip(yourArray,number)
let sorted = tuples.sorted(by: { this, next in
if this.0 < next.0 {
return true
} else if this.0 == next.0 {
return this.1 < next.1
} else {
return false
}})
bad.mm.append(String(describing: sorted.map { " \($0)" }.joined(separator:"\n")))
}}
struct bad {
static var mm = [String]()}
【问题讨论】:
-
尝试使用
switch来创建您的流量控制 - 您将能够确保在每种情况下都返回正确的值。您甚至可以用逗号分隔多个条件以获得相同的返回值。 -
请在您的问题中添加示例输入和预期输出,这将有助于确定您要做什么
-
@arunjos007 我添加了一张照片。你可以在图片中看到如果我输入 a,2 然后是 a,1。 a,2 仍然在 a,1 之前打印,所以它没有遵循排序逻辑。
标签: swift sorting struct tuples