所以基本上,我想从名为getTemporaryDirectory()的path_provider函数中检索目录,而我遇到了从名为getDir()的函数返回数据类型的问题,该函数应返回类型Directory变量,但返回动态类型
Directory tempDir;
Future<Directory> dire() async {
Directory dire = await getTemporaryDirectory(); //!temporary directory
return dire;
}
getDir() async {
Directory dir = await dire();
return dir;
}
@override
void initState() {
tempDir = getDir();
}
我得到的错误是: “未来(动态)”类型不是“目录”类型的子类型
答案 0 :(得分:0)
您可能要考虑
Directory dir = (await dire()) as Directory;
注意:我对Dart的了解已经严重过时,也许我不应该在SO上回答有关它的问题
答案 1 :(得分:0)
您最好为getDir指定返回类型:
Future<Directory> getDir() async {
而且您无法等待 initState 中的值,因此必须使用回调:
@override
void initState() {
super.initState();
getDir().then((v) {
setState(() {
tempDir = v;
});
});
}