MonkeyC的一些错误写法
程序员文章站
2022-03-02 12:15:30
...
之前接触过pebble和某国产智能穿戴的开发,再到现在搞的Garmin MonkeyC开发,个人感觉问题最少的就是pebble,运行效率也是最高,无奈倒闭了。
那么garmin和某国产手表的开发过程都是十分痛苦的,不是因为语言有多晦涩,而是模拟器运行正常,真机却跑不了,跑不了。下面就介绍一些坑:
注意这些写法在模拟器下都能正常跑通
如果想使用单例,不可以带类名
错误的写法:
static var _single = null;
static function Me(){
if(Conf._single==null){
Conf._single = new Conf();
}
return Conf._single;
}
正确的写法:
static var _single = null;
static function Me(){
if(_single==null){
_single = new Conf();
}
return _single;
}
如果想使用枚举, 请设置为单例模式
错误的写法:
class Enum{
enum{
TypeA,
TypeB
}
}
//其他类中调用
Enum.TypeA
正确的写法
class Enum{
static var _single = null;
static function Me(){
if(_single==null){
_single = new Enum();
}
return _single;
}
enum{
TypeA,
TypeB
}
}
//其他类调用
Enum.Me().TypeA
在一个类的静态函数中, 如果调用同类的静态函数, 必须带类名
错误的写法:
static function A(){
B();
}
static function B(){
}
正确的写法
错误的写法:
static function A(){
Class.B();
}
static function B(){
}
delegate回收
在这种低功耗设备简化c代码下无法做监视者来传递信息, 这时候就用到代理, 比如把view的地址给到delegate, 来响应键盘事件, 不过当app stop时一定要删除delegate的依赖关系, 否则app无法有效回收内存, 会造成环式依赖, 导致内存溢出.
为什么开发公司不把模拟器环境做的和真机一样, 至少代码逻辑检查应该做到一样才对...太痛苦了
上一篇: Oracle 提示经常出现的错误写法
下一篇: EL表达式