Flutter

·Flutter
연산자(Operators)는  5개 테마로 분류할 수 있다. - Transforming, Filtering, Combining , Time Manipulating, Sequence.   Transforming  먼저 Transforming 카테고리부터 알아보자. 첫번째 연산자로 collect 연산자가 있다. collect 연산자는 각 개별의 value를 구독 시점에 배열로 한 번에 묶어서 방출시킨다. 만약 받는 개수를 끊어서 받고 싶다면 collect() 에 파라미터 int 값을 넣어 원하는 갯수만큼 이벤트나 value를 받을 수 있다.    다음 Transforming 연산자로는 map 이다. 우리가 일반적으로 아는 map 고차함수와 매우 유사하다. 업스트림에서 밸류를 받아서 개별적으로 처리해준 뒤 다..
·Flutter
이전까지 Publisher 와 Subscriber 이제 연산자를 알아보자. 가장 간단한 연산자로는 Sink(읽기) 와 Assign(쓰기) 이 있다.sink 연산자(operator)는 두 개의 컴플리션 핸들러를 가지고 있다.  하나는 값을 받는 receiveValue() 메서드, 하나는 구독이 끝났을 때 호출 되는 receiveCompletion() 메서드이다. 위 예제에서 사용된 Just는 Publisher의 한 종류로 단 하나의 값만을 방출하고, 그 후에는 완료 이벤트를 보낸다.  assign(to:on:) 연산자는 특정 객체의 프로퍼티에 값을 자동으로 할당하는 데 사용된다. 내부를 들여다보면 ReferenceWritableKeyPath 타입을 통해 추상화된 프로퍼티 위치를 이용해 접근해서 쓰기 작업을..
·Flutter
답변 요약VC 생명주기는 크게 6단계가 있습니다.순서메서드명역할1loadView뷰를 메모리에 올리는 과정으로 뷰를 바꿀 수 있는 시점2viewDidLoad스토리보드 뷰들과의 연결이 끝난 시점으로 뷰가 생성되었을 때 한 번만 호출3viewWillAppear실제 스크린에 뷰가 나타나기 전에 호출된다 (뷰가 화면에 나타날 때마다 호출)4viewIsAppearing뷰가 계층 구조에 추가되어 정확한 모양(size, safe area)을 가졌을 때 호출(wwdc23 에서 소개된 메서드로 뷰가 띄워져있을 때 UI를 업데이트하기 최적의 장소)5viewDidAppear실제 스크린에 뷰가 나타난 후에 호출6viewWillDisappear실제 스크린에 뷰가 사라지기 전에 호출7viewDidDisappear실제 스크린에 뷰가..
·Flutter
콤바인 이전, 상태변화에 대한 비동기처리는 여러 방법으로 나뉘어져 있었다.   컴파인은 이렇게 여러방법으로 처리되던 비동기+상태관리를 타노스마냥 한 방에 처리해주는 녀석이다.(주의할 점: iOS13부터 사용할 수 있다.) Rx의 심장이 Observable인 것처럼 Combine의 심장은 Publisher 라고 볼 수 있다. Publisher가 방출하는 이벤트를 받는 녀석은 subscriber이다. Publisher 가 방출하는 이벤트를 Subscriber가 받는 과정은 위와 같이 진행된다. 이때 2번은 프레임워크 내부적으로 동작하는거라 개발자 입장에서는 크게 신경쓰지 않아도되는 부분이다.  Publisher는 프로토콜로 되어있다. 내부를 살펴보자. FRP의 모나드 개념을 적용시켜 associatedTyp..
·Flutter
요약Userdefaults를 통해 데이터를 저장할 경우 특정 ".plist" 파일에 데이터를 저장하게 됩니다. (보통 앱의 Library 폴더 안 Preferences 디렉토리에 위치). 이때 plist는 키-값 형식의 XML 형식이기에 1차원적으로 저장됩니다. 기본적으로 단순한 데이터 타입(예: String, Int, Bool 등)을 저장하기 위한 구조라고 볼 수 있습니다. 물론 데이터를 하나하나 키밸류 쌍으로 주먹구구식으로 넣을 수 있지만 이는 객체지향 프로그래밍을 하는 클라쪽과 맞지않고 불필요한 공간 또한 차지하게 됩니다. 서로 연관있는 커스텀 객체에 Codable을 채택하면 Data 타입으로 Userdefaults에 저장할 수 있게되어 데이터를 객체지향적으로 관리할 수 있습니다.부가 설명UserD..
·Flutter
목차1. Identifiable 프로토콜을 통한 데이터 뿌리기2. SwiftUI의 뷰 업데이트 방식3. SwiftUI의 상태관리 (주의: WWDC에서 소개된 내용 중 중요하지 않다고 판단된 내용은 제외시켰음)Identifiable 프로토콜을 통한 데이터 뿌리기  SwiftUI는 껍데기 UI들을 컴포지셔닝으로 만든 뒤 상위에서 Source Of Truth 를 관리하면서 하위 뷰들에게 데이터를 뿌리는 형태이다. List(UIKit에서의 테이블뷰와 컬렉션뷰 대체)를 예로 들자면 테이블뷰와 각 셀의 내용물은 하나의 셀 껍데기만 만들어 반복으로 돌리면 된다. 여기서 사진, 텍스트의 모양, 위치, 색과 같은 껍데기는 같다. 이제 문제는 어떻게 각 셀마다 다른 내용물을 뿌려줄 것인가이다.  생각해보면 모델은 똑같다...
·Flutter
Great App 을 만들기 위한 가장 빠른 도구 SwiftUI UI는 앱 제작에 있어서 빠질 수 없는 요소이다.  UI에는 텍스트 필드, 버튼 뿐만 아니라 다크모드, 로컬라이제이션 지원 등등 다양한 요소가 들어가게된다. 이때 UI적인 요소를 크게 두 가지로 나눌 수 있는데 버튼, 텍스트필드, 라벨과 같은 이미 정형화된, 고정된 (Basic Feature) UI와 애니메이션 효과, 다이나믹 타입, 로컬라이제이션과 같은 커스터마이징적인(Custom Features) 요소가 있다. "훌륭한"앱일 수록 정형화된 UI요소보다 이러한 커스터마이징한 요소가 많아지게 된다.  애플은 개발자가 Custom Features UI에 집중할 수 있도록 선언형/반응형 도구인 SwiftUI를 만들어 개발자가 빠르고 쉽게 Bas..
flutter developer
'Flutter' 카테고리의 글 목록 (6 Page)