Kotlin14 [Flutter] Dive into Flutter State Management. UI = f(state). IntroduceFlutter의 State앱 상태가 변경되면 사용자 인터페이스가 다시 그려진다.setState로 Widget의 state를 변경하며, 그때마다 Layer Tree를 다시 만든다.[공식 문서 기준] 언제든지 UI를 재구축하기 위해 필요한 모든 데이터 집합.widget.setText()와 같이 UI 자체를 반드시 변경할 필요 없으며, 상태를 변경하면 UI가 처음부터 다시 만들어진다.Ephemeral(Local) state Ephemeral state(UI state or local state)는 단일 위젯에 포함할 수 있는 상태이다. 예) PageView 안에 현재 페이지 예) BottomNavigationBar에서 현재 선택된 탭 이러한 상태는 위젯 트리의 다른 부분에 접근할 일이 거의 없.. 2022. 12. 2. [Algorithm] Kotlin 약수의 개수 구하기 0. 약간의 수학적 지식 어떤 수 N을 약수 m으로 나누었다면 x = N/m. 즉, x라는 또 하나의 약수가 보장된다. (제곱근이 아닌 경우) 예1) 35 = 5 * 7 -> 5 = 35/7. 7이라는 약수로 나누어서 5라는 약수가 보장된다. 예2) 4 = 2 * 2 -> 2 = 4/2. 2라는 약수로 나누어서 2라는 약수가 보장되지만, 같은 수이기 때문에 카운트하지 않는다. 1. O(N) for문을 사용해서 1부터 N까지의 수 중 number(타겟 숫자)와 나머지 연산을 했을 때 나머지가 0인 수를 구한다. O(N)이긴 하지만, number의 수가 커지면 커질 수록 비효율적인 알고리즘이 된다. fun helper(number: Int): Int { var count = 0 for (i in 1..num.. 2022. 11. 26. [Kotlin] lateinit과 lazy 차이점 목차 소개 lateinit lazy lateinit과 lazy의 차이점 초기화 시간 Nullable vs Non-nullable Compile-time vs Run-time error 스레드 안정성 결론 소개 Kotlin은 전역 변수를 선언하면 반드시 초기화 해줘야 한다. 전역 변수를 초기화하지 않고 선언할 수 있도록 도와주는 키워드가 lateinit과 lazy다. 먼저 Kotlin에 lateinit과 lazy가 있는 이유는 null 안정성 시스템 덕분이다. 속성을 nullable로 선언하면 사용할 때마다 ? 연산자나 !! 연산자를 사용해야 하기 때문에 번거로움이 있고 그렇지 않다면 반드시 초기화를 해줘야 한다. 초기화를 하지 못 하는 상황이 발생할 수도 있기 때문에 Kotlin 언어에서 이 둘을 지원한.. 2020. 12. 23. [Kotlin] var, val 그리고 const val 안녕하세요 골드입니다. Kotlin이라는 언어를 사용한다면 너무나도 당연하게 쓰는 var과 val 키워드가 있습니다. 이번 글에서 이 둘의 차이점에 대해서 알아보고 비슷하지만 다른 val과 const val의 차이점에 대해서도 알아보도록 하겠습니다. 1. var var은 variable를 의미하며, Kotlin에서 변수를 선언할 때 쓰는 키워드입니다. 흔히 말하는 기본 자료형 혹은 객체 참조 모두 var 키워드를 사용한 변수에 할당할 수 있습니다. var 키워드로 선언된 변수는 값을 변경할 수 있습니다. 변수를 선언할 때, 타입을 같이 작성할 수도 있습니다. 다만, 선언하면서 초깃값을 지정하였다면 변수의 타입을 생략할 수 있도록 코틀린은 타입 추론(type inference) 기능이 있습니다. 2. va.. 2020. 12. 16. [Kotlin] 코틀린 데이터 타입 형변환 안녕하세요 골드입니다. 오늘은 코틀린에서 기본 자료형들(String도 포함하여)의 형변환에 대해서 알아보겠습니다. 1. 문자열(String)을 숫자 타입으로 형변환 문자열을 숫자 타입으로 형변환 하겠습니다. 흔히 사용하는 숫자 타입으로 Int, Long, Double 같은 데이터 타입이 있습니다. 코틀린은에서 형변환은 매우매우 간단합니다. toFloat toDouble toDoubleOrNull toInt toIntOrNull toLong 같은 함수들을 코틀린에서 제공합니다. 보시다시피 원하는 데이터 타입 앞에 to를 붙여서 사용하면 됩니다. String형 변수 str에 "100"을 저장하고 Int형 변수 number는 초기화를 하지 않았기 때문에 Int라고 알려주기만 했습니다. 이후에 str.toInt.. 2020. 7. 11. 이전 1 2 다음 반응형