Прежде чем отмечать этот вопрос как дубликат, я хочу знать, почему мой код не работает, а не отправлять другому работающему.Отправьте строку с viewController на другую
Я новичок в swift, и я хотел бы отправить переменную «um_words» (которая рассчитывается при нажатии кнопки) из viewController при нажатии одной и той же кнопки, сохраните эту переменную в secondViewController и покажите ее в textView. Для этого я попытался со многими изменениями этого кода, который не дает никаких ошибок в консоли, но не показывает значение переменной на TextView:
1 VC
import UIKit
import Foundation
class TransViewController: UIViewController {
@IBOutlet var trad_text: UITextView!
@IBOutlet var buttonTrad: UIButton!
@IBOutlet var labelsitoh: UILabel!
var num_words = 0
@IBAction func butCalc(_ sender: UIButton) {
let text = trad_text.text
num_words = (text?.components(separatedBy: " ").count)!-1
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
var DestViewController : PaymentViewController = segue.destination as! PaymentViewController
DestViewController.num_words = String(num_words)
}
}
override func viewDidLoad() {
super.viewDidLoad()
trad_text!.layer.borderWidth = 1
trad_text!.layer.cornerRadius = 20
trad_text!.layer.borderColor = UIColor(red:0.22, green:0.26, blue:0.39, alpha:1.0).cgColor
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
2 VC
import UIKit
import Foundation
class PaymentViewController: UIViewController {
@IBOutlet var labelImport: UITextView!
var num_words = String()
override func viewDidLoad() {
super.viewDidLoad()
labelImport.text = num_words
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
у меня есть абы гипотеза о том, почему он не работает: функция «подготовка» не вызывается; он переходит только к следующему VC при нажатии кнопки ...
Спасибо за ваше время.
Не видя ничего в приготовленииForSegue. Прочитайте (здесь и везде) о том, как это делается. Пожалуйста, сделайте свою домашнюю работу. – dfd
Ваша функция подготовки находится внутри другой функции, поэтому она не вызывается. – dan
Моя функция находится внутри функции, которая должна вызываться при нажатии кнопки. Это не работает, если я так делаю? – alberzyzz