`for_in_of_invalid_type`: for-in 루프의 대상이 Iterable이 아니에요
for_in_of_invalid_type: for-in 루프의 대상이 Iterable이 아니에요
Dart 분석기가 내는 for_in_of_invalid_type 진단에 대해 알아볼게요. for-in 루프에서 in 뒤에 오는 표현식의 타입이 Iterable의 서브클래스가 아니면 이 진단이 나와요.
본문
for-in 루프에서 in 뒤에 오는 표현식의 타입이 Iterable의 서브클래스가 아니면 분석기가 이 진단을 만들어요.
예시
다음 코드는 m이 Map인데, Map은 Iterable의 서브클래스가 아니기 때문에 이 진단을 만들어요.
void f(Map<String, String> m) {
for (String s in m) {
print(s);
}
}
자주 쓰는 해결 방법
표현식을 iterable 값을 만들어 내는 것으로 바꾸면 돼요.
void f(Map<String, String> m) {
for (String s in m.values) {
print(s);
}
}