UILib:addOnClickEvent(ui["Jia_"..i], function()
self["num_"..i] = self["num_"..i] + 1
print("输入框"..i.."的值为", self["num_"..i])
GUI:TextInput_setPlaceHolder(ui["TextInput_"..i], self["num_"..i])
end)
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-29 19:09:17 |
👁️ 阅读: 5
这个错误是因为 `self["num_"..i]` 在第一次点击时是 `nil` 值,不能直接进行算术运算。
错误分析:
第54行 `self["num_"..i] = self["num_"..i] + 1` 中,当 `self["num_"..i]` 为 `nil` 时,`nil + 1` 会报错。
解决方案:
在点击事件之前,需要先初始化 `self["num_"..i]` 的值:
```lua
-- 在循环中先初始化num值
self["num_"..i] = 0 -- 或者根据需要的初始值设置
UILib:addOnClickEvent(ui["Jia_"..i], function()
self["num_"..i] = self["num_"..i] + 1
SL:print("输入框"..i.."的值为", self["num_"..i])
GUI:TextInput_setPlaceHolder(ui["TextInput_"..i], tostring(self["num_"..i]))
end)
UILib:addOnClickEvent(ui["Jian_"..i], function()
self["num_"..i] = self["num_"..i] - 1
SL:print("输入框"..i.."的值为", self["num_"..i])
GUI:TextInput_setPlaceHolder(ui["TextInput_"..i], tostring(self["num_"..i]))
end)
```
注意:
1. 使用 `SL:print()` 替代 `print()`(根据浮生梦老师前端课程规范)
2. 使用 `tostring()` 将数值转换为字符串,因为 `GUI:TextInput_setPlaceHolder()` 需要字符串参数
3. 确保在点击事件之前,`self["num_"..i]` 已经被正确初始化
这是Lua中常见的nil值错误,下次记得在使用变量前先检查是否初始化哦!
← 返回问答库