whatupdave
whatupdave

Reputation: 3334

Lua: Calling c method that returns userdata to Lua

Im using LuaObjcBridge and I'm calling a method from Lua like this:

local position = owner:position()

In objective-c this returns a CGPoint struct with X and Y which the bridge converts into Userdata. So CGPoint struct -> Lua userdata. In Lua how would I access the X and Y values from the Userdata?

Upvotes: 1

Views: 988

Answers (1)

Łukasz Gruner
Łukasz Gruner

Reputation: 3179

you need to:

  • define metatable, that contains methods that operate on userdata
  • set metatable on userdata
  • set the same metatable as __index field on userdata

or:

  • set some methods that operate on userdata
  • expose them to Lua

look at http://www.lua.org/pil/28.1.html

userdata can't do anything by itself, you need to add methods that do something with it.

Upvotes: 1

Related Questions