一、安装Wax
当前,我们推荐你使用Xcode3创建Wax项目。Xcode4的项目模板仍然有些问题,因此请使用Xcode3。
1. 从http://github.com/probablycorey/wax/下载Wax或者用git命令将它复制到本地
2. 在shell中,转到wax文件夹,输入rake install命令。这将安装xcode项目模板。
3. 你知道Lua吗?如果你熟悉Javascript、Python、Runby之类的动态语言,你通过5分钟的学习就能入门。你可以阅读这些免费教程或者买本《Programingin Lua》。
二、创建新项目
三、开始使用Lua
waxClass{"MyTableViewController",UITableViewController}
function init(self)
self.super:initWithStyle(UITableViewStylePlain)
-- Here are the tableView'scontents
self.things ={"Planes", "Trains", "Automobiles"}
return self
end
waxClass{"MyTableViewController",UITableViewController}
function init(self)
self.super:initWithStyle(UITableViewStylePlain)
-- Here are thetableView's contents
self.things ={"Planes", "Trains", "Automobiles"}
return self
end
functionnumberOfSectionsInTableView(self, tableView)
return 1
end
functiontableView_numberOfRowsInSection(self, tableView, section)
return #self.things
end
functiontableView_cellForRowAtIndexPath(self, tableView, indexPath)
local identifier ="MyTableViewControllerCell"
local cell =tableView:dequeueReusableCellWithIdentifier(identifier) or
UITableViewCell:initWithStyle_reuseIdentifier(UITableViewCellStyleDefault,identifier)
local thing =self.things[indexPath:row() + 1] -- Must +1 because Lua arrays are 1 based
cell:textLabel():setText(thing)
return cell
end
require"MyTableViewController"
waxClass{"AppDelegate",protocols = {"UIApplicationDelegate"}}
functionapplicationDidFinishLaunching(self, application)
local frame =UIScreen:mainScreen():bounds()
self.window =UIWindow:initWithFrame(frame)
self.controller =MyTableViewController:init()
self.window:addSubview(self.controller:view())
self.window:makeKeyAndVisible()
end
1. 用Xcode打开项目,将wax.framework拖到Xcode的frameworks组下。确保勾选"Copy items into destination group's folder"。
2. 新建init.lua(确保加到了应用程序束中)。在文件中加入代码:
puts("ZOMG, LUA IS RUNNING")
puts("Here is Lua talking to ObjC%s", tostring(UIApplication:sharedApplication()))
3. 打开AppDelegate文件,导入wax头文件:
#import "wax/wax.h"
4. 在AppDelegate的application:didFinishLaunchingWithOptions:方法中加入:
wax_start("init.lua",nil);
// To add wax with extensions, use thisline instead
// #import "wax/wax_http.h"
// #import "wax/wax_json.h"
// #import"wax/wax_filesystem.h"
// wax_start("init.lua",luaopen_wax_http, luaopen_wax_json, luaopen_wax_filesystem, nil);
最后,build and run,你将在Xcode控制台重看到Lua输出的内容。
http://blog.csdn.net/kmyhy/article/details/8048083