flutter 「Null check operator used on a null value」と出る

firebaseよりデータ取得し、そのデータを変数に格納して処理をしたいのですが、
「Null check operator used on a null value」とエラーが出てしまいます。

以下のコードで実行すると、「Null check operator used on a null value」とエラーが出る。

Future<int> future() async { String uid = FirebaseAuth.instance.currentUser!.uid; int day = 0; await FirebaseFirestore.instance .collection('users') .doc(uid) .get() .then((DocumentSnapshot document) { Map<String, dynamic> data = document.data()! as Map<String, dynamic>; day = data['day_count']; }); return day; } Widget _buildChild(BuildContext context, AsyncSnapshot<Object?> snapshot) { int? day2 = snapshot.data as int?; String day3 = (day2! + 1).toString();

試しに以下のコードで実行すると、「type 'Null' is not a subtype of type 'int' in type cast」とエラーが出ました。

Future<int> future() async { String uid = FirebaseAuth.instance.currentUser!.uid; int day = 0; await FirebaseFirestore.instance .collection('users') .doc(uid) .get() .then((DocumentSnapshot document) { Map<String, dynamic> data = document.data()! as Map<String, dynamic>; day = data['day_count']; }); return day; } Widget _buildChild(BuildContext context, AsyncSnapshot<Object?> snapshot) { int day2 = 0; day2 = snapshot.data as int; String day3 = (day2 + 1).toString();

改善方法ありましたら、ご教示いただきたく。
宜しくお願い致します。

コメントを投稿

0 コメント