UIImage 数组未出现在 ios 模拟器中

UIImage array does not appear in ios Simulator

我正在构建一个简单的井字游戏,我想将数组中的每个 "X" 或 "O" 都相同,以便当用户离开屏幕并返回时重新加载游戏.

我可以让它打印到输出屏幕,但它没有出现在 IOS 模拟器中。我只对前两个方块进行了编码,因为我希望在继续处理其余方块之前让数组正常工作。

这是我的代码:

import UIKit

var gamePieces3 = NSMutableArray()

class GameViewController3 : UIViewController {

    @IBOutlet var button0 : UIButton !
    @IBOutlet var button1 : UIButton !

    @IBOutlet var spot0 : UIImageView !
    @IBOutlet var spot1 : UIImageView !

    @IBAction func addGamePiece0(button0 : AnyObject) {
        if (goNumber % 2 == 0) {
            let image2 = UIImage(named : "cross.png")
            spot0.image = image2

        }
        else {
            let image1 = UIImage(named : "circle.png")
            spot0.image = image1
        }
        gamePieces3.addObject(spot0)
        goNumber++
    }

    @IBAction func addGamePiece1(button1 : AnyObject) {
        if (goNumber % 2 == 0) {
            let image2 = UIImage(named : "cross.png")
            spot1.image = image2

        }
        else {
            let image1 = UIImage(named : "circle.png")
            spot1.image = image1
        }
        gamePieces3.addObject(spot1)
        goNumber++
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    override func viewDidAppear(animated : Bool) {
        print(gamePieces3)

    }        
}
self.view.addSubview(<ImageView with your image>);

如果您希望您的应用 "remember" 从上次应用关闭或退出时停止的位置,您需要在代码中实现更多内容。由于您只想存储哪个按钮位置存储 "cross" 或 "circle",我认为最合适和简单的方法是使用 NSUserDefaults。它的工作原理与字典非常相似。您可以将 "Button0" 一直到 "Button8" 作为键,将 "cross.png" 或 "circle.png" 作为值。每次您的 gamePieces3 发生变化时,您都需要相应地更改 NSUserDefaults。然后在你 videDidLoad 中,你想从你的 NSUserDefaults 中阅读。扫描 NSUserDefaults,并根据控制器的视图应用 "cross.png" 或 "circle.png"。