काम नहीं करता है मेरे पास मेरे स्विफ्ट ऐप में दो दृश्य हैं। मैं नीचे के रूप में एक segue प्रदर्शन कर रहा हूँ।स्विफ्ट टाइमर.scheduledTimer()
ViewController.swift -----------------> GameViewController.swift
जब GameViewController एक मान सरणी भी ViewController.swift
से GameViewController.swift के लिए पारित लोड हो रहा हैएक टाइमर GameViewController.swift
में प्रारंभ किया जाना चाहिए मैं एक टाइमर प्रारंभ और यह माध्यम से एक विधि कॉल करने की कोशिश की, लेकिन यह काम नहीं करता।
अनुवर्ती मेरे कोड स्निपेट हैं।
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")
}
}
मुझे लगता है कि यह टाइमर में लक्षित ऑब्जेक्ट को सेट करने में एक समस्या है। कोई शर्करा धन्यवाद –
आप 'GameViewController' को सरणी नहीं भेज रहे हैं, इसे 'तैयार करें (प्रेषक:)' में करें। 'प्रेषक' पैरामीटर 'self' – paper1111
होना चाहिए समस्या वास्तव में क्या है? GameViewController लोड किया गया है? क्या ViewDidLoad() कहा जाता है? टाइमर समस्या से संबंधित सरणी कैसे गुजर रही है? - आम तौर पर, आप टाइमर कोड काम करना चाहिए। –