我目前正在開發一個戰術屏幕應用程序,其中一個人可以訪問數據庫添加添加到他們的屏幕上的球員。數據庫工作正常,我現在試圖將玩家信息傳遞到選定的位置。玩家信息經過很好,但我現在有麻煩,試圖實施該玩家信息到選定的位置:變量不存儲?
var selectedP: Int?
@IBAction func selectAPlayer(_ sender: UITapGestureRecognizer) {
self.selectedP = sender.view!.tag
//print (selectedP!)
}
以上是演示了方法如何,我想保存所選位置的標籤與selectedP
,所以我可以訪問它的子視圖。上述方法打印出正確的標籤。但是,當我嘗試用另一種方法調用它時,返回的變量始終爲零。我不確定問題是什麼。這裏是我嘗試調用selectedP
變量的方法:
func setPlayer() {
//print(selectedP!)
}
簡單的打印selectedP
導致程序崩潰,因爲它顯然是相當於nil
。有什麼我做錯了嗎?
我必須注意,setPlayer()
方法是由另一個類的segue調用的,該類基本上是View Player
類。這顯示爲應用程序中的彈出窗口。我不確定如果你調用popoverController,變量基本上會被恢復?
嘗試一次一個或這兩個'var selectedP:Int!'和'self.selectedP = sender.tag'。我只是說我沒有嘗試過。 – knownUnknown
@creatando setPlayer應該在你的IBAction中調用,只有當你執行你的action時,你才能獲得你的變量值。在那之前你不能調用setPlayer方法。 –