我是Swift的新手,我正在尝试访问一个'problemSolved'数组,该数组在我的主GameController类游戏过程中附加,来自另一个类。由于某种原因,该数组在UIViewController类中不可见,我希望在该类中显示表中解决的所有问题。我已经阅读了网站上的许多Singleton示例,看看是否会这样做,但似乎并没有。任何帮助或建议都非常感谢!
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)")
}
答案 0 :(得分:0)
目前我只能想象你不打电话
GameController.sharedInstance.onProblemSolved()
如果要将字符串附加到problemsSolved
。
您还应该考虑在GameController
静态中创建函数和变量。
如果这不能解决您的问题,我需要更多关于如何以及何时向problemsSolved
添加内容的信息。