[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
lib/main.dart:7:13: Error: Cannot invoke a non-'const' constructor where a const expression is expected. Try using a constructor or factory that is 'const'. home: HomeScreen(), ^^^^^^^^^^ 같은에러가 뜨네요 왜그럴까요 ㅠㅠ 영상다시 돌려서 해봐도 똑 같네요 ㅜㅜ 버전문제일까요 ... ㅜㅜ 웹뷰는 영상조연대로 3.0.0 으로설치 했습니다 플러터는 3.7.12 최신 버전이구요
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Map<ItemCode, List<StatModel>> stats = {}; List<Future> futures = []; for (ItemCode itemCode in ItemCode.values) { futures.add( StatRepository.fetchData( itemCode: itemCode, ), ); } final results = await Future.wait(futures); for (int i = 0; i < results.length; i++) { final key = ItemCode.values[i]; final value = results[i]; stats.addAll({ key: value, }); } return stats; 다수의 비동기 요청 병렬로 처리하기 강좌를 듣다가 한가지 의문이 들어 질문드립니다. futures에 모든 데이터를 받아와 await한 후 results에 넣고, results를 이용해 마지막 for구문을 완성하셨는데, 만약 results를 거치지 않고 futures를 그대로 사용해서 for구문을 완성하면 왜 오류가 생기는지 궁금합니다. await Future.wait(futures); for(int i = 0; i < futures.length; i++) { final key = ItemCode.values[i]; final value = futures[i]; stats.addAll({ key: value, }); } return stats; } 제가 생각한 코드는 이부분인데, results를 사용하지 않고 바로 futures를 사용해서 실행하면 오류가 생깁니다. 왜 이렇게 하면 안되고 꼭 results를 거쳐야만 하는지 잘 모르겠습니다. 답변 부탁드리겠습니다...
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
섹션 0, dartpad 기본기인 첫 번째 영상을 보고있는데요. Set함수를 배우는 부분에서 final Set<String> names = { ... 하셨는데, 제가 영상 앞에서 배우기로는 final은 타입을 따로 주지 않아도 되고, 값을 바꿀 수 없다는 걸로 배웠는데 제가 따로 테스트해본 결과 (1): final Set<> names ... 로 작성 -> 타입이 없다며, 오류발생. (2): names.add("") -> final로 선언을 하면, 값을 바꿀 수 없는걸로 아는데 값이 추가가능함. 이 부분에서 앞에서 배운 final 개념이 혼동이 와서 이렇게 질문을 남겨봅니다. 리스트에서의 final은 다른 개념인건가요?
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Could not build the precompiled application for the device. Error (Xcode): File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation) 안드로이드에서는 에러가 발생하지 않는데 iPhone 시뮬레이터에서 에러가 발생하는데, iOS/Podfile 을 아래와 같이 수정하시면 됩니다. post_install do |installer| installer.generated_projects.each do |project| project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0' end end end installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) end end 저의 경우는 마지막 부분을 수정해줬습니다. https://stackoverflow.com/questions/75894992/missing-file-libarclite-iphoneos-a-in-xcode-14-3-after-update-flutter-and-xcod/75901008#75901008
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
선생님한테 배운것을 응용하려는데 쉽지 않습니다. userMeProvider의 getMe()함수가 유저 정보를 가져오는 함수라서 이 함수를 이용해 유저정보화면을 만들려고 하는데 많은 시행착오를 거친후 제가 할수 있는것은 FutureBuider를 이용하여 future 함수에다 ref.read (userMeProvider.notifier).getMe() 를 넣으니까 화면에 뿌릴수는 있게 되었습니다. 그런데 FutureBuider를 쓰는것은 왠지 선생님의 가르침에 역행하는것 같아서 문의 드립니다. 유저프로필 화면에 Provider를 이용하여 데이터를 보여주는 가장 좋은방법은 무엇인지 궁금합니다. repository 나 provider 는 일반 프로그래밍 같아서 잘 이해가 되는데 이것을 화면에 뿌리는것이 너무 낯선 개념으로 다가와서 애를 먹고 있습니다.ㅠㅠ 감사합니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
bottom navigation bar의 4개 탭이 있는데 예를 들면 첫번째 탭인 홈탭에서 10페이지 정도 아래로 스크롤해서 내려간후 두번째 탭인 음식탭으로 이동한후 다시 첫번째 탭인 홈탭으로 돌아오면 화면 스크롤이 그대로 있는것이 아니라 가장 상단으로 이동되어 있습니다. 상단으로 이동되지 않고 그대로 있는 방법이 있을까요? 감사합니다.
@ManyToOne @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>(); 부모와 자식을 이렇게 설정해준다는데, 부모를 Many To One 자식을 One To Many 로 해주는게 이해가 안갑니다. 왜 이렇게 연관관계를 설정해 줘야 하는건가요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요 선생님! 문제점을 3시간정도 혼자 열심히 찾아봤는데 도저히 모르겠어서 질문드립니다! products: state .map( (e) => PostOrderBodyProduct( productId: e.product.id, count: e.count, ), ) .toList(), 제가 추측하기로는 order_provider.dart의 해당 부분에서 값 입력이 제대로 되지 않아 catch로 빠져 결제 오류가 발생하는거 같습니다. 하지만 값 입력이 제대로 되지 않는 이유를 찾지 못했습니다. https://github.com/subinkr/DeliveryFlutter 완강까지 앞으로 한발짝인데 혼자 해결하지 못해 아쉽네요 ㅠㅠ 번거로우시겠지만 도움주시면 감사하겠습니다!