查看: 2266|回复: 2

[已经解决] 这句@savefile_windows.each {|window| window.dispose }删掉也行吗?

[复制链接]
梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
回帖
155
发表于 2014-8-13 00:29:55 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
[pre lang="ruby" line="1"]  #--------------------------------------------------------------------------
  # ● 结束处理
  #--------------------------------------------------------------------------
  def terminate
    super
    @savefile_viewport.dispose
    @savefile_windows.each {|window| window.dispose }
  end
[/pre]
[pre lang="ruby" line="1"]  
def dispose_all_windows
    instance_variables.each do |varname|
      ivar = instance_variable_get(varname)
      ivar.dispose if ivar.is_a?(Window)
    end
  end
[/pre]


@savefile_windows.each {|window| window.dispose }
这句是不是删掉也行?
感觉super就把全部释放掉了...

梦石
1
星屑
23246
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-8-13 00:32:17 | 显示全部楼层
本帖最后由 喵呜喵5 于 2014-8-13 00:34 编辑

dispose_all_windows只释放Window

@savefile_windows是个Array,不是Window,
@savefile_windows[0]、@savefile_windows[1]、@savefile_windows[2]……才是Window

你可以自己试着执行一下 @savefile_windows.dispose 试试

评分

参与人数 1星屑 +150 收起 理由
taroxd + 150 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
回帖
155
 楼主| 发表于 2014-8-13 08:14:56 | 显示全部楼层
喵呜喵5 发表于 2014-8-13 00:32
dispose_all_windows只释放Window

@savefile_windows是个Array,不是Window,

呵呵...我都忘了他是数组
谢谢

点评

都没注意到...难怪要加s  发表于 2014-8-13 10:46
变量名最后的s证明了一切。这是一个不错的命名习惯  发表于 2014-8-13 08:26
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部