반응형

Flutter 57

[Flutter] switch-case Distructure(구조분해)

값을 받아올 때 값을 분해한 상태로 가져온다 void main() { // Validation final minJi = ('민지', 20); //타입을 보장받고 싶은 경우 as로 캐스팅 final (name as String, age as int) = minJi; print(name); print(age); } 위와같은 경우 minJi의 구조가 String, int로 캐스팅 돼서 name에는 minji, age에는 20이 출력된다. void switcher(dynamic anything) { switch(anything) { case 'aaa' : print('match:aaa'); //distructure case ['1','2'] : print('match [1,2]'); //list인데 3개의 값이..

[Flutter] Record

Record란 List를 규격화 하여 표현할 수 있는 기능 타입과 타입의 순서를 보장받을 수 있다. ex. 이름과 나이를 추출하는 기능 구현해볼 때 기존에는 name과 age를 돌려받고 싶을 때 key값으로 리턴은 보통 아래와 같이 한다. 이렇게 되면 타입에 대한 보장을 받을 수 없다, list는 한가지로 타입을 정의 할 수 있기 때문이다. nameAndAge(Map json) { return [json['name'], json['age']]; } void main() { final result = nameAndAge({ 'name' : 'chassi', 'age' : 34, print(result); //튜플에서는 $1.은 첫 번째 값을 의미하는데, .으로 자동완성을 들어가보면 String타입에 기반된..

Flutter/Dart 문법 2023.08.08

[Flutter] Horizontal viewport was given unbounded height

Horizontal viewport was given unbounded height 이런 오류, 보통 ListView에서 나타나기 마련임 ListView의 높이가 무한대로 늘어나서 생긴 오류 높이를 제한시켜 주면 된다. 1. Card가 있다면, Card의 전체 크기 제한 Card를 SizedBox의 height를 제한 2. 덧붙여, Scroll가능한 위젯은 Column내에서 사용했을 때, Expanded로 감싸줘야한다. 무조건 이런 경우.. ListView를 Expande로감싸줘야함

[Flutter] asset(img, font등록)

pubspec.yaml uses-material-design: true 뒤에 아래와 같은 경로와 형식으로 등록 assets: - asset/img/ fonts: - family: NotoSans fonts: - asset: asset/font/NotoSansKR-Black.otf weight: 900 - asset: asset/font/NotoSansKR-Bold.otf weight: 700 - asset: asset/font/NotoSansKR-Light.otf weight: 500 - asset: asset/font/NotoSansKR-Medium.otf weight: 400 - asset: asset/font/NotoSansKR-Regular.otf weight: 300 - asset: asset/..

[Flutter] permission_handler ios 권한 설정

위 코드를 Podfile에 붙여넣기 (만약 Podfile이 없다면 iOS시뮬레이터 실행하면 생성됨) Podfile하단에 flutter_additional_ios_build_settings(target)하단에 붙여넣기 하자 이제 target.build_configurations.each do |config| # You can enable the permissions needed here. For example to enable camera # permission, just remove the `#` character in front so it looks like this: # # ## dart: PermissionGroup.camera # 'PERMISSION_CAMERA=1' # # Preprocesso..

[Flutter] android, ios 플러그인 권한 설정

권한 설정 전 공통 pubspec.yamel에 dependencies에 플러그인 등록 android-app-src-main-AndroidManifest.xml에 하단, 상단에 플러그인에서 제공하는 코드 등록 제공되는 권한 코드가 아래와 같다면 이 부분만 복사 붙여넣기 ios-Runner-Info.plist에서 하단에 하단, 상단에 NSMicrophoneUsageDescription '표시해 줄 내용' NSCameraUsageDescription '표시해 줄 내용' ex. 마이크, 카메라 권한 설정 NSMicrophoneUsageDescription 마이크 사용을 허가해줘 NSCameraUsageDescription 카메라 사용을 허가해줘

[Flutter] FutureBuilder

3초 뒤에 랜덤하게 100이하의 숫자 생성 Future getNumber() async { await Future.delayed(Duration(seconds: 3)); final random = Random(); return random.nextInt(100); } } Future값을 아직 넣지 않았을 때의 기본 class HomeScreen extends StatefulWidget { const HomeScreen({Key? key}) : super(key: key); @override State createState() => _HomeScreenState(); } class _HomeScreenState extends State { @override Widget build(BuildContext c..

반응형