我是Swift的新手,我試圖訪問一個'problemSolved'數組,該數組在另一個類的主GameController類的遊戲中添加。出於某種原因,數組在UIViewController類中不可見,我想在其中顯示錶中解決的所有問題。我已經閱讀了網站上的許多Singleton示例,看看這是否會實現,但似乎並不如此。任何幫助或建議,在這裏非常感謝!swift中的單例不能從另一個類訪問
class GameController: TileDragDelegateProtocol, CenterViewControllerDelegate {
static let sharedInstance = GameController()
var problemsSolved = Array<String>()
func onProblemSolved() {
problemsSolved.append(problem)
println("problemsSolved contains \(problemsSolved)")
}
}
在遊戲過程中,我可以在控制檯中看到數組在GameController中正在追加確定。但是當我嘗試在ViewController類中訪問它時,內容顯示爲空[]。
class SidePanelViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
tableView.reloadData()
println("the array viewed from here is empty \(GameController.sharedInstance.problemsSolved)")
}
變量「問題」來自哪個附加數組? – Qbyte
嗨Qbyte,遊戲是一個單詞匹配遊戲。在GameController中有一個func dealWord(),它從Level類中的'words'數組中抽取一個單詞。 (我似乎可以從GameController中訪問,但不是GameController,因此這個問題!)。一旦函數dealWord()完成func onProblemSolved,它將檢查問題是否用if語句解決,如果是,則將該單詞添加到problemSolved數組中。思考? – richc