恐怕这是个有点抽象的问题。我基本上是在写一个围绕宠物的iPhone游戏,有点像tamagotchi。我已经创建了一个宠物对象,它包含了所有与宠物状态相关的数据。程序的其余部分访问宠物的数据并执行相关操作。
使用encodeWithCoder和initWithCoder方法将宠物保存到文件中。因此,每当程序中的一个方法需要访问任何pet数据时,它就会通过从文件中加载pet来创建一个新的pet实例。如果做了任何更改,它们将在Pet类的方法中完成。这些方法总是以将Pet写入文件结束。
我认为更好的方法是使用一个代表宠物的全局变量。程序中的任何方法都可以访问这个全局变量来改变它。我唯一一次写入文件是在玩家退出游戏时,而我只在游戏加载时读取一次文件。
我的问题是-我不确定最好的方法。这是否是好的编程实践?我是否应该在主ViewController中声明全局变量,然后在程序运行期间避免释放它?我将能够改变Pet类中的变量,并在程序运行期间保留这些数据。也就是说,在一种方法中设置showReaction为TRUE,在另一种方法中读取,在另一种方法中设置为FALSE。。。
任何建议都将不胜感激。我写这个程序已经有一段时间了,我想知道我是否应该现在就做这些更改,然后再进一步灌输任何不良做法。但是考虑到我的代码的大小,我不想在没有先与专家核实的情况下做太多的实验!
迈克尔