初始化程序未用于附加数据(swift3)

时间:2017-09-03 17:54:57

标签: swift initialization append init

我试图将两个文本字段中的任何内容附加到MyData集。但是有一条错误消息回复给我说明

  

MyData.init(公司:textA.text!,scorej:Int(textB.text!)!)正在使用中。

如何附加此数据?

import UIKit

struct MyData {
   var company = String()
   var scorej: Int
}

var data = [
   MyData(company: "smiths", scorej: 4),
   MyData(company: "lukes", scorej: 4),
]

let sortedArray = data.sorted(by: { ($0.company, $1.scorej) < ($1.company, $0.scorej) })

class ViewController: UIViewController {

   @IBOutlet var textB: UITextField!
   @IBOutlet var textA: UITextField!

   @IBAction func store(_ sender: Any) {
      MyData.init(company: textA.text!, scorej: Int(textB.text!)!)
      print(sortedArray)
   }
}

1 个答案:

答案 0 :(得分:0)

Unuesed意味着某些东西已经返回了某些东西并且您还没有使用它。

MyData(company: textA.text!, scorej: Int(textB.text!)!)

没有在任何地方使用过,这意味着:

let yourObject = MyData(company: textA.text!, scorej: Int(textB.text!)!)

yourObject在代码中的任何位置都没有使用,以防告诉编译器你现在不愿意使用它,以避免这是一种简单的方法:

let _ = MyData(company: textA.text!, scorej: Int(textB.text!)!)

_ - 告诉编译器你不会使用它。例如,在nil条件下处理if变量非常方便。

修改

根据您的说法,请在store函数中附加新创建的对象,然后再对其进行排序。