2017-09-03 47 views
1

我試圖追加任何在兩個文本框中的MyData設置。但是,有一條錯誤消息回到我說,初始值設定項未被用於追加數據(swift3)

MyData.init(company: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) 
    } 
} 

回答

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!)!) 

_ - 告訴你不打算使用它的編譯器。例如,在if條件下處理nil變量很方便。

編輯

Acording對你說的話,請添加新創建的對象的內部store功能,然後對它進行排序一次。

+0

這不會導致錯誤,但新的每個都不會添加到MyData。當使用let _ = MyData(company:textA.text !, scorej:Int(textB.text!)!)時,它仍然只有2個條目 –

+0

所以你想用'MyData(company:textA.text !, scorej:Int (textB.text!)!)'? – yerpy

+0

我希望它成爲var數據集中的第3個條目。現在只有兩個條目。我想把它花在那個數據集上。 –

相關問題