GUI:removeAllChildren(self.ui["st_"..i]),如何判断我这段代码有没有删除成功
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-15 23:43:49 |
👁️ 阅读: 8
在996引擎中,要判断`GUI:removeAllChildren()`是否删除成功,可以通过检查子节点数量或获取特定子节点来判断:
```lua
-- 假设要删除节点
local targetNode = self.ui["st_"..i]
-- 方法1:删除前记录子节点数量
local childCount = GUI:getChildrenCount(targetNode)
SL:Print("删除前子节点数量:", childCount)
-- 执行删除
GUI:removeAllChildren(targetNode)
-- 删除后再次获取子节点数量
local afterCount = GUI:getChildrenCount(targetNode)
SL:Print("删除后子节点数量:", afterCount)
if afterCount == 0 then
SL:Print("删除成功,所有子节点已移除")
else
SL:Print("删除失败,仍有子节点存在")
end
-- 方法2:尝试获取特定子节点判断是否还存在
local testChild = GUI:getChildByName(targetNode, "某个子节点ID")
if GUI:Win_IsNull(testChild) then
SL:Print("特定子节点已不存在,删除成功")
else
SL:Print("特定子节点仍然存在")
end
```
**推荐使用第一种方法**,因为:
1. `GUI:getChildrenCount()`直接返回子节点数量,最直观
2. 如果删除成功,数量应该为0
3. 如果删除失败或有残留,数量会大于0
这样就能准确判断删除操作是否执行成功了。
← 返回问答库