본문 바로가기

분류 전체보기17

ViewModel 처음 사용 시 일어날 수 있는 에러 이번에 MVP 패턴말고 MVVM 패턴을 사용해봐야겠다고 마음먹고 첫 MVVM 패턴을 이용한 어플리케이션을 제작하기로 했다. MVVM패턴 이라하면은 Model, View, ViewModel 이렇게 나눠 지는데 Model 은 비즈니스 로직을 담당하고 View 는 UI 부분 ViewModel 은 View 에서 일어난 이벤트 처리하는 함수 등 여러가지가 포함되어있다. 처음 사용하던 MVVM 패턴 이었지만 MVP 패턴에서 Presenter 가 View의 상태를 아는것과 ViewModel은 View 의 상태를 모르는것 이 차이점만 있기 때문에 어렵기 않게 적용 시켜 나갔지만 ViewModel을 객체화 시키는데에서 문제가 생겼다. 본문 바로 아래 그림처럼 컴파일 에러는 아니지만 런타임 에서 오류가 계속 나는것이었다... 2019. 12. 6.
TextEditingController 오류 해결 파이어베이스에서 불러온 데이터를 리펙토링 시켜서 플러터 클래스에 초기화 시킨다음 텍스트컨트롤러에다 저장을 시키려했지만 해당 오류가 계속 나왔다. 처음에 Provider를 상속하는 코드를 보니 해당 오류는 고칠 수 있었다. 1 -> 2로 코드를 고쳐 주었다.1. 2. 고쳐 주고나니 위에있는 에러는 해결이 되었지만 다른 에러가 나왔다 바로 아래 그림이 새로 나온 에러이다. 에러를 보니 위젯트리가 잠겨있는데 setState와 markNeedsBuild()가 호출 되었다는 것이었다. 빌드 안에서 setState나 markNeedsBuild를 호출한적이 없는데,, 그래서 stateful 위젯에 있는 didChangeDependencies 를 사용하기로 했다. didChangeDependencies이 언제 호출되는.. 2019. 11. 24.
flutter instagram follow 코드 수정기 팔로우 수정을 할 땐 한번 해본적이 있어 그대로 하면 되는줄 알았다. 즉 Stream형태로 계속해서 listen을 해주면 알아서 stream 이 관찰을 해 변경점이 발견되면 follow -> UNFOLLOW, unfollow -> follow 이런 식으로 변경이 가능 할 줄 알았다. 그래서 코드도 이와 같이 구현 했었다. 코드에서 보이는것과 같이 document의 getUserUid의 데이터를 snapshot으로 전부 다 가지고 왔다. 그러다 보니 알 수 없는 에러가 많이 뜨고 updateData를 했었는데 다른 유저가 팔로우를 하게 되면 겹치는 현상이 일어나게 되는것이었다. 여러가지 코드를 참고하고 하다보니 provider를 참고해서 만들게 된 코드가 다음과 같이 되었다. 코드를 보게되면 파이어베이스 .. 2019. 11. 20.
Flutter 첫 밋업 후기 11월 14일 flutter 공부 이후 첫 밋업을 가게 되었다. 생각보다 많은 사람들이 왔었고, 많은 도움을 얻게 되었다. 밋업을 통해 얻은 지식은 다음과 같다. Fuchsia -> 용어 많이 듣게 됌됨. 기본적으로 안드로이드로 하는데 Fuchsia 플렛폼이 있는데 이걸로 인해 웹에서도 개발이 가능하게 함. 차세대에는 안드로이드 -> Fuchsia로로 변경 된다. # 플러터 UI 머티리얼 장점 -> 가이드라인 따라서 하기만 해도 이쁘게 나옴. 단점 -> 일관적임 iOS와 Android UI 가 같음 ThemeData에서 다크모드 설정 가능. primarySwatch -> 디자인을 다 지정하고 들어가야함 테마를 잡을 때 정확하게 잡고 들어가야함 폰트 사이즈개 색상 5~6개 스플레시(버튼클릭했을 때 색상) .. 2019. 11. 16.