Codenameone CN1:ios应用程序在显示选择器组件时崩溃

Codenameone CN1:ios应用程序在显示选择器组件时崩溃,codenameone,Codenameone,我的CN1应用程序仅在iOS上崩溃(不在android上)。 使用本机源代码和xcode,我找到了错误位置: 当显示包含选择器组件的窗体时,会出现错误 在xcode中,我发现代码中的这一行导致了错误: picker.setType(显示.picker\u TYPE\u字符串) 我的代码: 错误: 线程5:EXC\u BAD\u访问(代码=1,地址=0x0) 出现错误的代码: #ifdef NEW_CODENAME_ONE_VM JAVA_BOOLEAN com_codename1_impl_io

我的CN1应用程序仅在iOS上崩溃(不在android上)。 使用本机源代码和xcode,我找到了错误位置:

当显示包含选择器组件的窗体时,会出现错误

在xcode中,我发现代码中的这一行导致了错误:
picker.setType(显示.picker\u TYPE\u字符串)

我的代码: 错误:
线程5:EXC\u BAD\u访问(代码=1,地址=0x0)

出现错误的代码:

#ifdef NEW_CODENAME_ONE_VM
JAVA_BOOLEAN com_codename1_impl_ios_IOSImplementation_instanceofObjArrayI___java_lang_Object_R_boolean(CN1_THREAD_STATE_MULTI_ARG JAVA_OBJECT n1)
{
    // second part of the expression check that this isn't a primitive array
    return n1->__codenameOneParentClsReference->isArray && cn1_array_start_offset + 100 < n1->__codenameOneParentClsReference->classId;
}
#ifdef NEW_code name_ONE_VM
JAVA_BOOLEAN com_codename1_impl_ios_ios实现_InstanceObjarAyi___JAVA_lang_Object_R_BOOLEAN(CN1_THREAD_STATE_MULTI_ARG JAVA_Object n1)
{
//表达式的第二部分检查这不是基元数组
返回n1->\uuuuuCodeNameOneParentClsReference->isArray&&cn1\uArray\uStart\uOffset+100\uuuuCodeNameOneParentClsReference->classId;
}
xcode用错误明确地标记
返回

你对此有什么建议吗

更新:
移动
picker.setType(显示.picker\u TYPE\u字符串)
进入构造函数解决了这个问题。

对于我来说,将
picker.setType(Display.picker\u TYPE\u STRINGS)
移动到构造函数解决了这个问题


谢谢你的建议

是否在设置选择器类型之前设置字符串数组?你能发布与你的选取器相关的代码吗?不,我只是将所选字符串设置为null,我将尝试不这样做。稍后我将重新设置选择器,这就是为什么我需要.remove并认为.setSelectedString(null)可能有用;我想这就是问题所在,它在模拟器上运行时没有错误吗?试着把那条线包起来,试着接住。我会试试的!是的,它确实可以在模拟器和类似的Android设备上工作。还有,为什么要使用picker.remove()?
#ifdef NEW_CODENAME_ONE_VM
JAVA_BOOLEAN com_codename1_impl_ios_IOSImplementation_instanceofObjArrayI___java_lang_Object_R_boolean(CN1_THREAD_STATE_MULTI_ARG JAVA_OBJECT n1)
{
    // second part of the expression check that this isn't a primitive array
    return n1->__codenameOneParentClsReference->isArray && cn1_array_start_offset + 100 < n1->__codenameOneParentClsReference->classId;
}