Mam dwa widoki w mojej szybkiej aplikacji. Wykonuję segue, jak poniżej.Swift Timer.scheduledTimer() nie działa
ViewController.swift -----------------> GameViewController.swift
podczas ładowania GameViewController tablicę wartości również przekazany do GameViewController.swift z ViewController.swift
czasomierz powinien zostać zainicjowany w GameViewController.swift
próbowałem zainicjować licznik i wywołać metodę przez niego, ale to nie działa.
Poniżej znajdują się moje fragmenty kodu.
ViewController.swift
func signIn(difficultyLvl:String){
let username = usernameTxt.text
let password = passwordTxt.text
let url = URL(string: "http://192.168.1.106/speed/scoreBoardController.php?username="+username!+"&password="+password!+"&action=SIGNIN")
let task = URLSession.shared.dataTask(with: url!) {(data, response, error) in
let isPassed = String(data: data!, encoding:.utf8)?.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
var gameViewControllerParams = [Int: [String: String]]()
gameViewControllerParams[0] = ["userId" : isPassed!]
gameViewControllerParams[1] = ["difficultyLvl" : difficultyLvl]
if(isPassed != "null"){
self.performSegue(withIdentifier: "gotoGame", sender: gameViewControllerParams)
}
}
task.resume()
}
GameViewController.swift
class GameViewController: UIViewController {
var gameViewControllerParams = [Int: [String: String]]()
override func viewDidLoad() {
super.viewDidLoad()
let _ = Timer.scheduledTimer(timeInterval: 1.0, target:self, selector: #selector(self.setCalculationLs), userInfo:nil,repeats: true)
}
func setCalculationLs(){
print("Timing")
}
}
Uważam, że jest to problem z ustawianiem obiektu docelowego w stoperze. Wszelkie sugestie. Dzięki –
Nie wysyłasz tablicy do 'GameViewController', zrób to w' przygotować (dla: nadawca:) '. parametr 'nadawca' powinien być' self' – paper1111
Jaki dokładnie jest problem? Czy załadowany jest GameViewController? Czy wywoływana jest metoda viewDidLoad()? Jak przebiega przekazywanie tablicy związane z problemem timera? - Generalnie, kod timera powinien zadziałać. –