강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

노른자님의 프로필 이미지
노른자

작성한 질문수

Flutter 중급 1편 - 클린 아키텍처

03 이미지 검색 기본 버전 완성

강의 8분 30초경부터 질문

작성

·

237

0

1. json Response['hits'] 는 jsonDecode가 된상태여서 JSON이 아닌 Array형태 아닌가요?

 

2. Iterable hits = jsonResponse['hits'];  <-- 이게 현재 Map형태라고 하셨는데, 배열의 형태아닌가요? 

만약 Map형태라면 hits.map 혹은 hits.forEach같은 JS 언어에서는 배열에서만 쓸수있는 함수를 Dart 언어에서는 객체형태에도 사용가능한건가요?

 

퀴즈

코드에서 UI 로직과 비즈니스 로직을 분리하는 주된 이유는 무엇일까요?

앱의 설치 파일 크기를 줄이기 위해서

UI 변경 시 비즈니스 로직에 미치는 영향을 최소화하고 테스트 용이성을 높이기 위해서

개발 팀원 간의 소통을 줄이기 위해서

UI 애니메이션 성능을 향상시키기 위해서

답변 1

3

오준석님의 프로필 이미지
오준석
지식공유자

1. 네 맞습니다. 그런데 참고로 Dart에 Array 타입은 존재하지 않습니다. 그래서 굳이 따지자면 JsonArray 형태인가요? 라고 물으시면 정확한 것 같습니다. 이런 형태를 다룰 때 강제로 캐스팅해서 사용할 수 있는 타입으로는 Iterable이 있습니다. 이를 구현한 List, Set도 가능합니다만

2. 영상 다시 들어보니까 반복되는 형태인 Iterable 로 받아놓고 Map 형태라고 말하고 있었네요??. 정확히는 Map 들의 반복되는 형태를 얘기하려고 했던 것 같습니다. 일반 Json의 형태는 Dart에서 Map의 문법과 동일하여 Map으로 간주하고 처리하고 있습니다.

예리한 지적이십니다.

결론은 말씀하신 Array 형태가 맞습니다.

노른자님의 프로필 이미지
노른자

작성한 질문수

질문하기