【问题标题】:bb10 cascades clear GroupDataModel crashbb10 级联清除 GroupDataModel 崩溃
【发布时间】:2015-02-11 07:15:33
【问题描述】:

我正在开发黑莓 10 应用程序。 我在使用 GroupDataModel 时遇到了一些问题。

这是代码:

            GroupDataModel *searchModel;

            if (searchModel != NULL){
                qDebug() << "Masuk sini";
                searchModel->clear();
            }
            searchModel = new GroupDataModel(
                    new QListDataModel<QString>(
                            QList<QString>() << "suburbName" ));
            QVariantMap map;
            for (int i = 0; i < list.size(); ++i) {
                QVariantMap x = list.at(i).toMap();
                map["suburbName"] = x.value("address").toString();
                qDebug() << x;
                qDebug() << map;
                searchModel->insert(map);
            }

            searchList->resetDataModel();
            searchModel->setGrouping(ItemGrouping::None);

            searchList->setDataModel(searchModel);

这段代码不只调用一次。所以当它被调用时,我必须清除 GroupDataModel。 但它总是崩溃。当我调试时,问题出在 searchModel->clear(); 我已经尝试用 free(searchModel) 替换它,但崩溃仍然发生。

崩溃说:分段错误

有人请帮助我! 我已经为这个问题苦苦挣扎了好几天了。

谢谢

问候, 瑜伽

【问题讨论】:

    标签: c++ blackberry-10 blackberry-cascades


    【解决方案1】:

    你做错了。 如果您想在类中重用 searchModel 对象,请将其设为成员变量,然后只执行您的任务。

    【讨论】:

      【解决方案2】:

      您必须用 NULL 初始化 GroupDataModel 指针。否则,指针会被分配一些仍在内存中的随机值。如果访问未初始化的指针,则会出现分段错误。

      GroupDataModel *searchModel = 0;
      

      【讨论】:

        【解决方案3】:

        代码正在崩溃,因为您正在取消引用未初始化的指针。调用 searchModel-&gt;clear() 时,searchModel 尚未初始化为任何内容。

        如果您的代码被多次调用,最好将searchModel 声明为成员变量:

        GroupDataModel *searchModel;
        

        然后你需要初始化它,例如在包含类的构造函数中而不是在被大量调用的函数中,因为你只需要一个 GroupDataModel 实例。

        searchModel = new GroupDataModel(QStringList() << "suburbName" );
        

        那么你的其余代码应该可以工作了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多