runtimeType (1) 썸네일형 리스트형 Bloc 에서 if 는 되는데 Switch는 안되는 이유와 해결법 계산기 Bloc 예제로 +-/* 를 처리 한다. 처음 switch 로 해결 하려 했지만, 안된다 . 이유는 Dart 언어의 타입 시스템 때문에 이런 현상이 발생 Dart는 if 문에서 타입 추론을 수행하여 event가 특정 하위 타입(AddEvent, SubtractEvent 등)인지 확인. 각 분기에서 num1과 num2에 접근할 수 있음 But, switch 문에서는 Dart가 이러한 타입 추론을 수행하지 않음. event.runtimeType을 확인하더라도 Dart는 event를 CalculatorEvent 타입으로 간주 따라서 num1과 num2에 접근하려고 하면 오류가 발생 이 문제를 해결하려면 각 case 분기에서 수동으로 타입 캐스팅을 수행해야 함 CalculatorBloc() : super.. 이전 1 다음