flutter(5)
-
[flutter] Searching for inspections failed: undefined method `map' for nil:NilClass
애플의 M1 맥북 에어를 사용중인데, 종종 이런 에러가 등장한다. 협업 과정에서 아키텍처가 바뀌는 것 같다. sudo arch -x86_64 gem install ffi // ffi x86 아키텍처로 설치해준다. cd ios // ios라는 이름의 디렉토리로 들어간다. arch -x86_64 pod install 이렇게 해주면 에러는 말끔히 사라진다
2023.03.15 -
[flutter] 내부 위젯들의 가로사이즈에 따라 동적으로 가로 사이즈가 정해지는 Container 만들기
Container 내부에 가로로 위젯들을 배치시키기 위해 Row를 사용하고, Row 의 property 중 mainAxisSize값을 MainAxisSize.min으로 주면 됩니다. 들어가는 내용만 달라지는 같은 틀의 Container을 계속 사용하는 상황을 가정합니다. 이럴 때는 Container의 틀을 커스텀 위젯으로 정의해놓고, 내부를 채울 위젯만 동적으로 넣어주면 간편합니다. 내부를 채울 위젯의 개수이나 모양을 모르기 때문에 Container 의 가로 사이즈를 미리 정해놓으면 오버플로우의 위험이 있습니다. 따라서, 동적으로 정해지도록 해야합니다. 예시를 통해서 살펴볼게요. /* 세로가 100인 노란 Container 위젯. 이 Container 내부에 위젯들이 가로로 배치됩니다. */ Contai..
2023.01.26 -
[flutter] Row 위젯 안에 있는 Text 위젯
Row 안에 있는 Text는 가로 크기 제한 위젯(SizedBox, Container, Expanded) 으로 감싸야 오버플로우 안남. Text 위젯은 "Text 작성을 위한 위젯" 입니다. Text가 길어지는 경우에는 자동으로 다음 줄로 넘겨서 회면에 텍스트를 띄워줍니다. 그러나 Row 위젯안에 들어 있을 때는 오버플로우를 발생시킵니다. 아래를 보며 이해해볼게요. Center( child: Container( width: 300, height: 100, color: Colors.orange, child: Text( "Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello"), ), ), 중앙 배치를 위해 Center 위..
2023.01.18 -
[flutter] Sound Null Safety
1. Null 이란? "값이 없음" 을 의미합니다. 0도 아니고 ""도 아닙니다. 정말 값 자체가 없는 상황을 이야기하는 것입니다. 2. Sound Null Safety Dart 2.12와 Flutter 2 이후부터는 Sound Null Safety를 지원합니다. Sound Null Safety는 프로그램에 "모든 변수에는 값이 할당되어야 한다"는 규칙을 적용합니다. 그리고, 값이 할당되지 않으면 컴파일러가 에러 메세지를 돌려줍니다. Null 관련 에러는 앱이 실행될 때(runtime)에 많이 생깁니다. 그렇게 찾은 에러는 디버깅이 굉장히 어려워서, 코딩을 하는 도중에 컴파일러가 에러를 잡아주면 어떨까 하는 생각이 Sound Null Safety를 만들었습니다. 간단한 예시를 생각해볼게요. void ma..
2023.01.15 -
[flutter] Wrap 위젯
아래처럼 Row 위젯을 이용하면 여러 위젯을 가로로 배치시킬 수 있다. Row( children: [ exContainer(Colors.red), exContainer(Colors.orange), exContainer(Colors.yellow), exContainer(Colors.green), ], ) // 가로, 세로가 100이고, 색을 지정할 수 있는 Container를 정의했다. Container exContainer(Color color){ return Container( width : 100, height : 100, color : color ); } 그러나, 위의 사진처럼 "배치된 위젯들의 총 가로 크기> 화면의 가로 크기" 면 당연히 한 줄에 들어갈 수 없다. 즉, 오버플로우가 발생한다. 생..
2023.01.13