LuaCocoa is the next-generation successor to the LuaObjCBridge for Objective-C 2.0.
LuaCocoa uses BridgeSupport, libffi, and a whole lot of blood, sweat, and tears to bridge both C and Objective-C including objects, constants, enums, functions, and structs.
LuaCocoa is similar to PyObjC, RubyCocoa, and JSCocoa.
Here are some key features of "LuaCocoa":
· Full bridging to classes/objects, C functions, selectors, structs, enums, constants
· 32-bit and 64-bit support (uses new Obj-C 2.0 runtime), PowerPC & Intel
· Support Obj-C garbage collection and non garbage collection modes
· Subclassing NSObjects in Lua
· Obj-C/C APIs and easily embeddable framework to allow easy integration into existing Obj-C applications
· Scripting Bridge support to allow Applescript control written in Lua scripts instead of Applescript
· Conversion of Lua tables to NSArray and NSDictionary
· Metamethods on NSArray and NSDictionary to respond like Lua tables
· Convenience metamethods to access struct fields
· Auto-boxing of numbers and structs into NSNumbers and NSValues when necessary
· Setter dot notation in Lua
· Proper handling of BOOL types to native Lua boolean types
· Return pass-by-reference out parameters as multiple Lua return values
What's New in This Release: [ read full changelog ]
· (CoreGraphics fix for CFTypes moving through the bridge, new sample project showing subclassing/delegate pattern in Lua with NSOpenPanel and NSSavePanel)
· Dealt with bug where CFTypes from CoreGraphics crossing through the bridge were being corrupted.
· Added new example demonstrating the classic delegate pattern featuring NSOpenPanel and NSSavePanel. This example will be complimented by a new example showing the blocks (closure) pattern in the next release utilizing the new Obj-C blocks APIs for NSOpenPanel and NSSavePanel.
· Additional minor fixes.
· This will be the last release of the 0.3 branch. 0.4 will introduce Obj-C blocks support which may impact backwards compatibility, particularly on 10.5.