강의

멘토링

커뮤니티

Inflearn Community Q&A

kimsw5094428's profile image
kimsw5094428

asked

Flutter Application - Creating an App Using Public APIs (MVVM Pattern)

오류좀 해결해주세요

Written on

·

11K

0

섹션 0 까지 했는데 

Unhandled Exception: type 'int' is not a subtype of type 'String' 

이런 오류가 나옵니다 

Flutter

Answer 6

0

survivalcoding님의 프로필 이미지
survivalcoding
Instructor

code는 String 으로 들어오고 있는데 이상하네요.

그래도 의심을 해 본다면 일부 데이터만 int로 보낼 수도 있습니다.

서버에서 보내주는 데이터를 절대적으로 믿으면 안 되거든요.

그렇다는 것을 가정하면 kimsw509님처럼 var code 로 했을 경우에는 타입 추론이기 때문에 String이나 int여도 값을 받는다고 보면 됩니다.

아니면 이 예제에서 code 값을 쓰지 않기 때문에 code를 파싱하는 부분을 모두 제거해도 될 것 같습니다.

0

kimsw5094428님의 프로필 이미지
kimsw5094428
Questioner

저는 일단 code를 String code 에서 var code 로 잠깐 바꿔서 쓰니까 제대로 돌아가고 있습니다. 근데 왜 int code로 하면 code가 String이고 int 타입은 받을수 없습니다 라고 뜨고 String code로 하면 code가 int 형식이고 String 타입을 받을수 없습니다. 라고 뜨는지 모르겠습니다. 그래서  생각해 본건데 json parse 하면서 뭔가 문제가 있지 않나 조심히 생각해 봅니다.

0

네 강의데로 똑같이 진행했습니다.

일주일 전에는 됐는데...오늘 해보니까 안됩니다.

확인 부탁드립니다.

0

survivalcoding님의 프로필 이미지
survivalcoding
Instructor

code 변수 선언이 String code 로 되어 있나요?

0

E/flutter ( 6307): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)]
Unhandled Exception: type 'int' is not a subtype of type 'String' E/flutter ( 6307): #0 new Store.fromJson (package:fluttermask03/model/store.dart:25:5)

아래 클래스 이부분에서 에러납니다.
 code = json['code'];





class
Store {
...
Store.fromJson(Map<String, dynamic> json) {
code = json['code'];

}


0

survivalcoding님의 프로필 이미지
survivalcoding
Instructor

에러난 부분의 코드가 보이지 않아 추측하기로는

String 값을 int 형 변수에 대입하려고 했기 때문일 것으로 추측됩니다.

해당 에러가 발생하는 라인을 보면 아마도 'String 변수 = int 값' 형태의 코드가 있을 겁니다.

'int 변수 = int 값' 또는 'num 변수 = int 값' 형태로 타입을 맞춰 주시면 됩니다.

kimsw5094428's profile image
kimsw5094428

asked

Ask a question