我是iOS编程新手。我正在创建一个应用程序,它读取文本字段的值并计算平均值。我有23个文本字段。这就是我所拥有的。
import UIKit
class SavedBerekenenViewController: UIViewController {
@IBOutlet weak var naam1: UITextField!
@IBOutlet weak var cijfer1: UITextField!
@IBOutlet weak var weging1: UITextField!
@IBOutlet weak var naam2: UITextField!
@IBOutlet weak var weging2: UITextField!
@IBOutlet weak var cijfer2: UITextField!
@IBOutlet weak var weging3: UITextField!
@IBOutlet weak var cijfer3: UITextField!
@IBOutlet weak var weging4: UITextField!
@IBOutlet weak var cijfer4: UITextField!
@IBOutlet weak var weging5: UITextField!
@IBOutlet weak var cijfer5: UITextField!
@IBOutlet weak var weging6: UITextField!
@IBOutlet weak var cijfer6: UITextField!
@IBOutlet weak var weging7: UITextField!
@IBOutlet weak var cijfer7: UITextField!
@IBOutlet weak var weging8: UITextField!
@IBOutlet weak var cijfer8: UITextField!
@IBOutlet weak var weging9: UITextField!
@IBOutlet weak var cijfer9: UITextField!
@IBOutlet weak var weging10: UITextField!
@IBOutlet weak var cijfer10: UITextField!
@IBOutlet weak var weging11: UITextField!
@IBOutlet weak var cijfer11: UITextField!
@IBOutlet weak var weging12: UITextField!
@IBOutlet weak var cijfer12: UITextField!
@IBOutlet weak var weging13: UITextField!
@IBOutlet weak var cijfer13: UITextField!
@IBOutlet weak var weging14: UITextField!
@IBOutlet weak var cijfer14: UITextField!
@IBOutlet weak var weging15: UITextField!
@IBOutlet weak var cijfer15: UITextField!
@IBOutlet weak var weging16: UITextField!
@IBOutlet weak var cijfer16: UITextField!
@IBOutlet weak var weging17: UITextField!
@IBOutlet weak var cijfer17: UITextField!
@IBOutlet weak var weging18: UITextField!
@IBOutlet weak var cijfer18: UITextField!
@IBOutlet weak var weging19: UITextField!
@IBOutlet weak var cijfer19: UITextField!
@IBOutlet weak var weging20: UITextField!
@IBOutlet weak var cijfer20: UITextField!
@IBOutlet weak var weging21: UITextField!
@IBOutlet weak var cijfer21: UITextField!
@IBOutlet weak var weging22: UITextField!
@IBOutlet weak var cijfer22: UITextField!
@IBOutlet weak var weging23: UITextField!
@IBOutlet weak var cijfer23: UITextField!
@IBOutlet weak var LBgemiddelde: UILabel!
var text: String = ""
var I: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.title = text
}
func gemiddelde() {
let aantalCijfers:Double = (Double(weging1.text!)! + Double(weging2.text!)! + Double(weging3.text!)! + Double(weging4.text!)! + Double(weging5.text!)! + Double(weging6.text!) + Double(weging7.text!)! + Double(weging8.text!)! + Double(weging9.text!)! + Double(weging10.text!)! + Double(weging11.text!)! + Double(weging12.text!)! + Double(weging13.text!)! + Double(weging14.text!)! + Double(weging15.text!)! + Double(weging16.text!)! + Double(weging17.text!)! + Double(weging18.text!)! + Double(weging19.text!)! + Double(weging20.text!)! + Double(weging21.text!)! + Double(weging22.text!)! + Double(weging23.text!)!)
let som:Double = (Double(cijfer1.text!)! * Double(weging1.text!)! + Double(cijfer2.text!)! * Double(weging2.text!) + Double(cijfer3.text!)! * Double(weging3.text!)! + Double(cijfer4.text!)! * Double(weging4.text!)! + Double(cijfer5.text!)! * Double(weging5.text!)! + Double(cijfer6.text!)! * Double(weging6.text!)! + Double(cijfer7.text!)! * Double(weging7.text!)! + Double(cijfer8.text!)! * Double(weging8.text!)! + Double(cijfer9.text!)! * Double(weging9.text!)! + Double(cijfer10.text!)! * Double(weging10.text!)! + Double(cijfer11.text!)! * Double(weging11.text!)! + Double(cijfer12.text!)! * Double(weging12.text!)! + Double(cijfer13.text!)! * Double(weging13.text!)! + Double(cijfer14.text!)! * Double(weging14.text!)! + Double(cijfer15.text!)! * Double(weging15.text!)! + Double(cijfer16.text!)! * Double(weging16.text!)! + Double(cijfer17.text!)! * Double(weging17.text!)! + Double(cijfer18.text!)! * Double(weging18.text!)! + Double(cijfer19.text!)! * Double(weging19.text!)! + Double(cijfer20.text!)! * Double(weging20.text!)! + Double(cijfer21.text!)! * Double(weging21.text!)! + Double(cijfer22.text!)! * Double(weging22.text!)! + Double(cijfer23.text!)! * Double(weging23.text!)!)
let gemiddeldedouble:Double = (som / aantalCijfers)
LBgemiddelde.text = String(gemiddeldedouble)
}
@IBAction func bereken(_ sender: UIButton) {
gemiddelde()
}
我认为这不是正确的方法,所以请帮助。
答案 0 :(得分:2)
使用IBOutletCollection或它的等价物如下:
@IBOutlet var textFieldsArray:[UITextField]?
将所有文本字段连接到上述属性。 然后你可以使用swift中的for-in循环迭代所有textFields,获取值,并计算平均值。
如果您使用Objective-C代码,请将所有商店连接到IBOutletCollection
,然后使用来自KVC集合运营商的@avg
计算平均值。
答案 1 :(得分:0)
var dbDate = myRawDbDate.Kind == DateTimeKind.Unknown ? DateTime.SpecifyKind(myRawDbDate, DateTimeKind.Utc): myRawDbDate;
var localDdate = new DateTimeOffset(dbDate, new TimeSpan(0,6,0)).DateTime;
使用IBOuletCollection
而不是IBOulet
个人UITextField
。只需迭代到集合中并获取每个文本字段的值,将其保存到变量中,然后获取这些值的平均值。
var allValues = 0
for tf in txtFields {
allValues = allValues + Int(tf.text!)!
}
print(allValues)