JSPatch初体验

在引用类的时候需要提前声明

eg: require(‘UIView,UIColor’)

类似于OC中类的实现

defineClass('ViewController', {
//在这里进行js动作
};

self.super()等于OC中的super

eg: [super viewDidLoad];
            ||
    self.super().viewDidLoad();

结构体的使用(CGRect)

            addRedView: function() {
            var redView = UIView.alloc().initWithFrame({x:0, y:0, width:100, height:100});
            redView.setCenter(self.view().center());
            redView.setBackgroundColor(UIColor.redColor());
            self.view().addSubview(redView);

定义对象方法

            printNsstring: function(str) {
            console.log("addRedView did run");
            console.log(str);
            },

定义类方法

defineClass('ViewController', {
            //对象方法
          },
     {
            //类方法 定义方式是一样的,只是位置不同
            shared: function() {
            console.log(self);
            }

      }
);

替换系统方法

替换viewDidLoad无效 根据生命周期来看 viewWillAppear由系统调用 在viewDidLoad之后 所以替换这个方法有效

            viewWillAppear: function(animated) {
            self.super().viewWillAppear(animated);
            self.crashArray();
            self.addRedView();
            self.printNsstring("changed success");

            //调用类方法
            ViewController.shared();
            },

注意:利用转换工具 并不能将NSLog进行转换,输出时候还是需要用js语句输出 否则crash


JSPatchX(Xcode中编辑js代码补全插件):

https://github.com/bang590/JSPatchX

OC转换JS工具(官方)

http://bang590.github.io/JSPatchConvertor/

Demo:Github

参考文献:http://blog.csdn.net/u014410695/article/details/51151846

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值