为了学习和熟练JSPatch语法,所以尝试写一个简单的UITableView视图
1.动态添加 Property
2.struct变量替换
3.NSArray的使用
4.for循环的不同.
5.打印console.log()
6.require('UIColor,UIView,NSURL,NSURLRequest,UIFont,UILabel'); 导入头文件.
7.添加Protocol
8.常量和枚举
require('NSMutableArray,UITableView,UIView,NSString,UIColor,UITableViewCell');
defineClass("ViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>",['data','tableView'], {
//实例方法
viewDidLoad: function()
{
self.super().viewDidLoad()
console.log(self.dataArray());
self.setTableView(UITableView.alloc().initWithFrame_style({x:0,y:0,width:self.view().frame().width,height:self.view().frame().height},0));
self.tableView().setDataSource(self);
self.tableView().setDelegate(self);
// self.tableView().setSeparatorStyle(0);
self.tableView().setTableFooterView(UIView.new());
self.tableView().setEstimatedRowHeight(40);
self.tableView().setBackgroundColor(UIColor.yellowColor());
self.view().addSubview(self.tableView());
},
dataArray: function()
{
var data = self.data();
if(data) return data;
var data = NSMutableArray.array();
console.log("444");
for (var i = 0; i < 14; i++) {
var string = NSString.stringWithFormat("JSPatch == %@", i);
data.addObject(string);
}
return data;
},
tableView_numberOfRowsInSection: function(tableView,section)
{
return self.dataArray().count();
},
tableView_heightForRowAtIndexPath: function(tableView, indexPath) {
return 60
},
tableView_cellForRowAtIndexPath: function(tableView,indexPath)
{
var cellID = "name";
var cell = tableView.dequeueReusableCellWithIdentifier(cellID);
console.log("22222")
if (!cell) {
cell = UITableViewCell.alloc().initWithStyle_reuseIdentifier(3, cellID);
}
cell.textLabel().setText(self.dataArray().objectAtIndex(indexPath.row()));
return cell;
},
},
{
//类方法
});