• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

삼항연산자에 대한 질문

24.03.26 22:57 작성 조회수 107

0

안녕하세요 .

프로필 사진에서 삼항연산자를 아래처럼 사용하면 코드가 더 효율적일꺼라 생각했는데 에러가 발생합니다.

아래처럼 사용하는 건 틀린건가요?

 

CircleAvatar(
  radius: 64,
  backgroundImage: _image == null
      ? AssetImage('assets/images/profile.png')   : MemoryImage(_image!),)

답변 1

답변을 작성해보세요.

0

dart 의 버그로 알려져 있습니다.

CircleAvatar 위젯의 backgroundImage 속성에는 ImageProvider 타입의 객체가 전달되어야 하고
AssetImage 와 MemoryImage 위젯 모두 ImageProvider 를 상속하고 있기 때문에
backgroundImage 에 전달되더라도 에러가 발생하지 않아야 합니다.

해결 방법으로는 AssetImage 또는 MemoryImage 를
as ImageProvider 로 타입변환 하시면 됩니다.

CircleAvatar(
  radius: 64,
  backgroundImage: _image == null
      ? AssetImage('assets/images/profile.png')
      : MemoryImage(_image!) as ImageProvider,
)