-
不能使用 宏/常量/枚举 (所以所有的自定义字体\颜色宏都得用原始值, 就连系统自带的枚举值都得用原始值)(自定义的debugLog也无法使用
CGSize/CGRect等结构体直接通过JSPatch convertor转换过来依旧为OC的形式 需要手动修改
只有在语法错误时才会报错, 运行时错误(如无响应方法)将直接跳出(如同return)但app不会crash, 所以可能就只有一半效果(如只显示段一部分文案, 从第一张图开始后面的内容都没显示)
- SDWebImage的回调不会及时响应(网络延时先展示暂位图, 之后加载完成后不会立马刷新视图, 需要来回切换界面已达到刷新视图)
- 部分题目的图片无法点击(原因闭包无法像OC中一样自动的捕获, 在for循环中block捕获的都是最后一次的数据)
- 官方文档上说(JS 没有 block 类型的变量,OC 的 block 对象传到 JS 会变成 JS function) 所以猜测SDWebImage与闭包捕获问题都是由这个引起的
- 循环遍历的坑
//oc
for (int i = 0; i< array.count; i++) {
YXPracticeProblemItem *item = array[i];
}
//JS
for (var i = 0; i < array.count(); i++) {
var item = array[i]; //无法识别下标
var item = array.objectAtIndex(i);
}
//for in 也不可用
//oc
for (ProblemItem *item in array) {}
//JS
for (var item in array) {}