I try to refer to new added textFields. The point is to put in these textfields data and then save it in CoreData but I have not any idea how to do it.
Below print- screen
By the help of Add button I can add new row of textfields
Model of Textfields is in another class "txtfields", not in ViewController. In textfields class all textfields are placed in the function.
class txtFields: UIView {
func inputTxtFields( value: Int,value2: Int, value3:Int, ScrollView: UIView) {
var tf = UITextField(frame: CGRect(x: 20, y: value, width: 100, height: 30))
tf.backgroundColor = .white
tf.placeholder = "excercise"
tf.layer.cornerRadius = 5
ScrollView.addSubview(tf)
var tf2 = UITextField(frame: CGRect(x: 150, y: value2, width: 30, height: 30))
tf2.backgroundColor = .white
tf2.layer.cornerRadius = 5
tf2.placeholder = "rp"
ScrollView.addSubview(tf2)
let tf3 = UITextField(frame: CGRect(x: 150, y: value3, width: 30, height: 30))
tf3.backgroundColor = .white
tf3.layer.cornerRadius = 5
tf3.placeholder = "kg"
ScrollView.addSubview(tf3)
let tf4 = UITextField(frame: CGRect(x: 200, y: value2, width: 30, height: 30))
tf4.backgroundColor = .white
tf4.layer.cornerRadius = 5
tf4.placeholder = "rp"
ScrollView.addSubview(tf4)
let tf5 = UITextField(frame: CGRect(x: 200, y: value3, width: 30, height: 30))
tf5.backgroundColor = .white
tf5.layer.cornerRadius = 5
tf5.placeholder = "kg"
ScrollView.addSubview(tf5)
let tf6 = UITextField(frame: CGRect(x: 250, y: value2, width: 30, height: 30))
tf6.backgroundColor = .white
tf6.layer.cornerRadius = 5
tf6.placeholder = "rp"
ScrollView.addSubview(tf6)
let tf7 = UITextField(frame: CGRect(x: 250, y: value3, width: 30, height: 30))
tf7.backgroundColor = .white
tf7.layer.cornerRadius = 5
tf7.placeholder = "kg"
ScrollView.addSubview(tf7)
let tf8 = UITextField(frame: CGRect(x: 300, y: value2, width: 30, height: 30))
tf8.backgroundColor = .white
tf8.layer.cornerRadius = 5
tf8.placeholder = "rp"
ScrollView.addSubview(tf8)
let tf9 = UITextField(frame: CGRect(x: 300, y: value3, width: 30, height: 30))
tf9.backgroundColor = .white
tf9.layer.cornerRadius = 5
tf9.placeholder = "kg"
ScrollView.addSubview(tf9)
let tf10 = UITextField(frame: CGRect(x: 350, y: value2, width: 30, height: 30))
tf10.backgroundColor = .white
tf10.layer.cornerRadius = 5
tf10.placeholder = "rp"
ScrollView.addSubview(tf10)
let tf11 = UITextField(frame: CGRect(x: 350, y: value3, width: 30, height: 30))
tf11.backgroundColor = .white
tf11.layer.cornerRadius = 5
tf11.placeholder = "kg"
ScrollView.addSubview(tf11)
}
In ViewController(vc3) I create textfields object : let Fields = textfields().
In IBoutlet func add, function from the textfields class will start and every press on add button will create a new row.
class vc3: UIViewController {
var train = [Training]()
let access = Data()
var name:String?
var buttonPressed = 0
var wartoscy = 250
var wartosc2 = 265
var wartosc3 = 230
var addClicked = 0
var indexPath = 0
let Fields = txtFields()
var quantity = 0
@IBAction func add(_ sender: UIButton) {
print("clicked")
if self.quantity < 10 {
Fields.inputTxtFields( value: wartoscy, value2: wartosc2, value3: wartosc3, ScrollView: scview)
} else {
Alert.showAlert(vc: self)
return
}
buttonPressed += 1
quantity += 1
addClicked += 1
btnSave.isHidden = false
btnconstraints.constant += 100
wartoscy += 80
wartosc2 += 80
wartosc3 += 80
}
As you can see right now I have names of these textFields like tf1 ... tf2.. and so on but I don't know how to refer to them to create a Core data attributes. Maybe I should to create them without function? But I need to have value(wartosc) which is used to move textfields in the lower position. Variable wartosc is placed in vc3.I want of course to have all of these textfields in another class like now.
When I was working with Storyboard only the solution was simple: IBoutlet, but now I don't know how to find a solution.