小编Max*_*Max的帖子

颤振:错误:找不到 Getter:“暂停”。案例 AppLifecycleState.suspending

我刚刚在稳定频道上升级了 Flutter,并在尝试启动应用程序(在本地 iOS 模拟器上)时获得了以下 StackTrace。运行单元测试flutter test也会受到影响。

Launching lib/main.dart on iPhone 8 in debug mode...

Compiler message:
../../flutter/.pub-cache/hosted/pub.dartlang.org/native_device_orientation-0.1.2/lib/native_device_orientation.dart:149:30: Error: Getter not found: 'suspending'.
      case AppLifecycleState.suspending:
                             ^^^^^^^^^^
Target kernel_snapshot failed: Exception: Errors during snapshot creation: null
Failed to build bundle.
Error launching application on iPhone 8.
Run Code Online (Sandbox Code Playgroud)

颤振医生 -v

[?] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.14.6 18G1012, locale de-DE)
    • Flutter version 1.12.13+hotfix.5
    • Framework revision 27321ebbad (33 hours ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • …
Run Code Online (Sandbox Code Playgroud)

iphone dependencies ios flutter flutter-dependencies

12
推荐指数
2
解决办法
1万
查看次数

如何检查 DART 中是否存在给定日期?

如果您将不存在的/非真实的日期如:'20181364' (2018/13/64) 传递到 DateTime(构造函数或解析方法),则不会引发异常。而是返回计算出的 DateTime。

示例:'20181364' --> 2019-03-05 00:00:00.000

如何检查给定日期是否真的存在/有效?

我尝试使用 DartPad 解决这个问题(没有成功),所以这里不需要 Flutter doctor 输出。

void main() {
  var inputs = ['20180101', // -> 2018-01-01 00:00:00.000
                '20181231', // -> 2018-12-31 00:00:00.000
                '20180230', // -> 2018-03-02 00:00:00.000
                '20181301', // -> 2019-01-01 00:00:00.000
                '20181364'];// -> 2019-03-05 00:00:00.000

  inputs.forEach((input) => print(convertToDate(input)));
}

String convertToDate(String input){
  return DateTime.parse(input).toString();
}
Run Code Online (Sandbox Code Playgroud)

如果存在某种方法来检查给定日期是否真的存在/有效,那就太好了,例如:

  • DateTime 中的验证函数
  • 另一个不使用 DateTime.parse() 进行验证的库

你会如何解决这个问题?

datetime datetime-format dart flutter

4
推荐指数
1
解决办法
4823
查看次数