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

时间:2017-02-13 18:18:59

标签: codenameone

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

当显示包含Picker-component的表单时,会出现错误。

在xcode中,我发现我的代码中的这一行导致错误: picker.setType(Display.PICKER_TYPE_STRINGS);

我的代码:

private boolean setPicker() {
        picker.remove();
        picker.setSelectedString(null);
        picker.setType(Display.PICKER_TYPE_STRINGS);
        String[] arr = RatingObject.getListAsStringArray();
        if (arr.length > 0) {
            gui_ro_Picker.setStrings(arr);
        .....

错误:

Thread 5: EXC_BAD_ACCESS (code=1, address=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;
}

xcode明确标出return行并带有错误

你对此有什么建议吗?

更新

picker.setType(Display.PICKER_TYPE_STRINGS);移动到构造函数中解决了问题。

1 个答案:

答案 0 :(得分:1)

对我来说,将picker.setType(Display.PICKER_TYPE_STRINGS)移动到构造函数中解决了这个问题。

感谢您的建议!