【问题标题】:attempt to index global 'native' (a nil value)尝试索引全局“本机”(零值)
【发布时间】:2017-01-10 10:55:03
【问题描述】:

我正在尝试使用此代码创建一个文本框,

local defaultBox

local function textListener( event )

    if ( event.phase == "began" ) then
        -- User begins editing "defaultBox"

    elseif ( event.phase == "ended" or event.phase == "submitted" ) then
        -- Output resulting text from "defaultBox"
        print( event.target.text )

    elseif ( event.phase == "editing" ) then
        print( event.newCharacters )
        print( event.oldText )
        print( event.startPosition )
        print( event.text )
    end
end

-- Create text box

defaultBox = native.newTextBox( 200, 200, 280, 140 )
defaultBox.text = "This is line 1.\nAnd this is line2"
defaultBox.isEditable = true
defaultBox:addEventListener( "userInput", textListener )

但它不起作用并告诉我这个:

attempt to index global 'native' (a nil value)

【问题讨论】:

  • 很明显native 持有nil - 不完全是一个棘手的错误消息。 native 应该由宿主环境提供,还是在需要时需要它 (local native = require 'native'),就像 physics 库和其他库一样,据我所知。

标签: android ios mobile lua coronasdk


【解决方案1】:

我认为这里最好的答案是分解错误。

'attempt to index' 表示您正在处理类似表格的内容,并尝试从中访问值。示例:

t.x
t:x
t[x]

global native 是您尝试索引的值。 'global' 部分告诉您它不是局部变量,而 'native' 部分是变量的实际名称。

由于 'native' 未定义 (nil),请检查您的拼写以及是否需要它

local native = require 'native'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-07
    • 2020-03-08
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 2015-02-18
    相关资源
    最近更新 更多