首页 > 解决方案 > 颤振错误:类型“_Smi”不是“双”类型的子类型

问题描述

我使用颤振 1.0 开发了一个应用程序。该应用程序适用于大多数 android 和 ios 手机。但我发现有一部 android 手机和一部 iphone 无法打开该应用程序,只显示错误消息“type '_Smi' is not a subtype of type 'double'”。有没有人可以告诉我我的应用程序发生了什么。

打开flutter应用时的错误图片:

在此处输入图像描述

标签: flutter

解决方案


没有相关的代码很难说,但在我的例子中,这发生在尝试从 Map 分配双精度值时。解决方案是简单地调用 .toDouble 的值:

// myMap is a Map<String, dynamic>
double myDouble = myMap['mykey'].toDouble();

它曾经在没有 .toDouble() 的情况下工作,但 _Smi 错误一天开始发生。


推荐阅读