Dies ist mein Code Ich weiß nicht, was ich falsch gemacht habe. Alle Probleme sind in Funktion steve. LebelText ist ein Timer-Timer-Label, das von einem anderen View-Controller gesendet wird. Also möchte ich lebetText zu einem int konvertieren, um 1 davon zu subtrahieren und dann zurück in einen String umwandeln, um die Zahl anzuzeigen.Schwerwiegender Fehler beim Auspacken eines segued String (swift3)
Dies ist Ansicht Controller a. Das gesendete Wesen ist lebelText.
import UIKit
class testViewController: UIViewController {
@IBOutlet var lazel: UILabel!
@IBOutlet var plax: UIButton!
@IBOutlet var stopx: UIButton!
var timer = Timer()
var counter = 0.0
var isRunning = false
override func viewDidLoad() {
super.viewDidLoad()
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let DestViewController : restultViewController = segue.destination as! restultViewController
DestViewController.LebelText = lazel.text!
}
@IBAction func play(_ sender: Any) {
if !isRunning{
timer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(testViewController.update), userInfo: nil, repeats: true)
}
plax.isEnabled = false
stopx.isEnabled = true
}
@IBAction func stop(_ sender: Any) {
plax.isEnabled = true
stopx.isEnabled = false
timer.invalidate()
isRunning = false
}
func update(){
counter += 0.1
lazel.text = String(format: "1%f", counter)
lazel.text = "\(counter)"
}}
Dies ist View-Controller b. Das Ziel ist es, lebelText zu nehmen, um es in ein int zu konvertieren, um es von 1 zu subtrahieren. Dann wandle es zurück in eine Zeichenkette, damit es angezeigt werden kann.
import UIKit
class restultViewController: UIViewController {
@IBOutlet var dxe: UILabel!
var LebelText = String()
let myInt = Int()
override func viewDidLoad() {
super.viewDidLoad()
steve()
}
func steve(){
var eq = LebelText
var intValue = Int(eq)
let vx = intValue! - 1
let ramit = String(vx)
dxe.text = ramit
}
etwas ausführlicher wäre gut, auch Ihre variable Namensgebung hilft nicht zu viel zu verstehen, was Sie erreichen wollen, vielleicht könnte man auch ein wenig mehr erklären, dass. –
Ich verstehe nicht, was Sie hier überhaupt machen wollen. Zuerst instanziieren Sie eine Zeichenfolge mit dem Namen LebelText ohne Wert und weisen sie dann einer anderen Variablen zu, z. B. eq, die Sie dann in Int einschreiben möchten. Was .. was ist los? – SaylorTwift2
@MagoNicolasPalacios. LebelText ist ein Label, das von einem anderen View-Controller stammt. lebelText ist eine Bezeichnung, die eine Nummer anzeigt, an der der Timer gestoppt wurde. Dann versuche ich 1 von lebelText zu subtrahieren. Also versuche ich, lebelText von string nach int zu nehmen (wo ich 1 von der int subtrahiere) und dann das int in eine string umwandelt. Also kann ich auf label dxe anzeigen. –