微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GpsMap 66S上的Garmin Monkey C无法检查PersistedContent.getAppWaypoints迭代器的next函数返回的空对象

如何解决GpsMap 66S上的Garmin Monkey C无法检查PersistedContent.getAppWaypoints迭代器的next函数返回的空对象

我尝试开发一个应用程序,该程序可以从特定网站在garmin设备上下载航点。 为了知道应用程序是否已插入Waypoint,我使用next()函数对PersistedContent.getAppWaypoints()迭代器进行了迭代。 这是一个简单的while循环:

var wps = PersistedContent.getAppWaypoints();
var wp = wps.next();
while (wp) {
    var wname = wp.getName().toupper();
    Sys.println("appwp: " + wname);
    wp = wps.next();
}
Sys.println("finish");

在Connect IQ设备模拟器上运行,一切都很好。 但是,在找到所有Waypoint而不是打印“完成”后,在真正的GpsMap 66s设备上运行时,应用程序崩溃了。 适当的CIQ_LOG.YML文件包含以下内容

Error: Unexpected Type Error
Details: 'Failed invoking <symbol>'
Time: 2020-09-14T20:11:12Z
Part-Number: 006-B3028-00
Firmware-Version: '4.20'
Language-Code: hun
connectiq-Version: 3.1.9
Filename: GHU
Appname: ghu
Stack:
  - pc: 0x10000542
  - pc: 0x100002ad

似乎在迭代器的最后一个元素之后

wp = wps.next();

提供一个对象,该对象将在while (wp)语句中被评估为NOT null,然后在wp.getName()函数调用时崩溃(因为wp对象实际上为null)。 我尝试将wp的空状态检查为wp!=nullnull!=wp等,但是没有任何变化。

有帮助吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。