享元模式
1
|
|
两个核心英雄
1
|
|
在提到享元模式通常都会提到一个围棋游戏,因为一个围棋里边有300多棋子,如果每个棋子都采用一个新对象会非常占用内存,解决方法就是利用享元模式,提取内部共有属性白色/黑色。外部属性位置,大小(frame).最终系统管理的棋子对象只有两个。
我在写demo的时候发现如果是把每个棋子都addsubview到self.view上的话,会发现不论获取多少次,最终界面上只有两个棋子。思来想去最终发现采用drawrect的方式,前提是要把frame单独存取出来,比如可以用一个字典NSDictionary解决。