• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Flutter 게시판 연락처앱 만들기- Sort 질문입니다.

연락처앱 만들기- Sort 질문입니다.

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #32022

    yjson
    참가자

    Map<String, String> contactMap = {
        '카리나': '010-0000-0000',
        '윈터': '010-0000-0001',
        '지젤': '010-0000-0002',
      };

    위와 같은 map을 .builder()로 뿌려주는데 키값을 기준으로 Sort하여 뿌려주려 합니다.

    그래서 아래와 같이 작성했을때, 

                ListView.builder(
                  itemCount: contactMap.length,
                  itemBuilder: (c, i) {
                    List keyList = contactMap.keys.toList()..sort();
                    var key = keyList[i];
                    return ListTile(
                      leading: Icon(Icons.person, size: 40),
                      title: Row( children: [ SizedBox( width: 90, child: Text( key, style: TextStyle(fontSize: 18),)),
                                                              Text(contactMap[key].toString(), style: TextStyle(fontSize: 18))]),
                    );
                  },
                )

    원하는대로 잘 돌아가는데, 진한굵기로 작성한

                    List keyList = contactMap.keys.toList()..sort();
                    var key = keyList[i]; 

    이부분을 어차피 keyList는 재활용 하지 않을거라

    var key = contactMap.keys.toList()..sort()[i]; 

    이렇게 작성하고 싶은데 안되더라고요.. 

    (sort기능 추가 이전 var key = contactMap.keys.toList()[i]; 로 사용했을땐 문제없었습니다.)

    에러문구는

    This expression has a type of 'void' so its value can't be used.
    Try checking to see if you're using the correct API; there might be a function or call that returns void you didn't expect.

    Also check type parameters and variables which might also be void.

    이렇게 나오는데 읽어봐도 이해가 되지않아요..

    왜 인지 알 수 있을까요?

    #32046

    codingapple
    키 마스터

    sort() 쓰고나면 그 자리에 void 타입이 남는다는 소리같은데 

    sort() 쓴 자리엔 아무것도 그 자리에 안남겨준다는 소리같군요 

    sort 쓰면 그냥 sort() 왼쪽에 있는거 변형시켜주고 끝내주는 함수인가봅니다 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠