[flutter] Class.fromMap
다트 Class.fromMap
fromMap은 map 데이터 구조를 초기화하는 생성자 메서드이다. 주로 모델 클래스에서 데이터베이스에서 받아온 데이터를 미리 지정한 변수 구조에 초기 설정하는데 사용된다.
데이터베이스에서 데이터를 모델 구조에 맞게 초기화시키는 과정이다.
class PostModel {
PostModel({
required this.id,
required this.title,
required this.content,
required this.createdAt,
});
int id;
String title;
String content;
DateTime createdAt;
factory PostModel.fromMap(Map<String, dynamic> json) => PostModel(
id: json['id'],
title: json['title'],
content: json['content'],
createdAt: DateTime.parse(json['create_at']),
);
}
다음은 모델 클래스의 fromMap 메서드를 사용하는 과정이다.
class PostHelper {
Future<List<PostModel>> getPosts() async {
// 데이터베이스에서 post 데이터를 가져온다.
final db = await _openDb();
final result = await db.query('post_table');
// 가져온 post 데이터를 PostModel 구조로 변환시킨다.
List<PostModel> list = result.isNotEmpty
? result.map((item) => PostModel.fromMap(item)).toList()
: [];
return list;
}
}
반응형
'주제 > flutter' 카테고리의 다른 글
[flutter] cached_network_image package (0) | 2022.04.09 |
---|---|
[flutter] 앱 테마 설정하기 (0) | 2022.04.03 |
[flutter] datetime timestamp (0) | 2022.03.09 |
[flutter] sqlite db 사용하기 (0) | 2022.03.09 |
[flutter] container min-max width, height (0) | 2022.02.27 |