Мой компилятор не показывает никаких проблем, но во время выполнения я получаю неизвестную ошибку. Я пытаюсь поместить ввод строки textField в двойной массив. Не уверен, что не так, может кто-нибудь объяснить, что я делаю не так.
На самом деле ничего не пробовал, но я думаю, что мне нужно как-то использовать ленивый синтаксис.
import UIKit
class ViewController: UIViewController {
// Outlets
// textFields
@IBOutlet weak var textField_1: UITextField!
@IBOutlet weak var textField_2: UITextField!
@IBOutlet weak var textField_3: UITextField!
@IBOutlet weak var textField_4: UITextField!
@IBOutlet weak var textField_5: UITextField!
// labels
@IBOutlet weak var label_1: UILabel!
@IBOutlet weak var label_2: UILabel!
@IBOutlet weak var label_3: UILabel!
@IBOutlet weak var label_4: UILabel!
@IBOutlet weak var label5: UILabel!
// Variables
var input : String = "0";
var a = 0
var age = "9.5"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
var numbers : [Double] = [90, 0, 0, 0, 0]; // where textfields will be converted to double
var userinput : [String?] = [textField_1.text, textField_2.text, textField_3.text, textField_4.text, textField_5.text]!; // textField storage
// Button
@IBAction func button ()
{
// loop inserts userinput into numbers array
while (a < 3) {
numbers.insert(convert_to_double(input1: userinput[a]!) ,at: a)// inserts userinput after
a += 1 // stops loop and changes array index
}
}
// converts strings to double
func convert_to_double(input1: String) -> Double
{
let input0 : Double? = Double(input1);
return input0!
}
}
: 0: ошибка: невозможно использовать член экземпляра textField_1 в инициализаторе свойства; инициализаторы свойств запускаются до того, как "self" станет доступным. введите здесь описание изображения