일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Swift #Concurrency #쓰레드
- 러브자그레브
- 공기먹는다이버스
- 시밀란
- 강릉
- 크로아티아
- 도심공항
- swiftUI
- SwiftUI #Skeleton #데이터갱신
- 리브어보드
- Gradle
- 푸켓여행
- 대한항공
- 러브스플리트
- 그라나다
- 아시아나
- 연금저축펀드
- Cocoapods #PrivateRepo #SpecRepo
- 스페인여행
- 스페인광장
- 스플리트
- 지팍스페인
- xcode
- 세비야
- cocoapod
- 라이브러리
- Device 등록
- Concurrency #Swift #Combine
- 스쿠버다이빙
- 괌 자유여행
- Today
- Total
목록Development/Kotlin (7)
JEP's Diary
Sealed Class 사용 X 여러개의 자식클래스들이 A라는 부모클래스를 상속받았다고 했을때, 컴파일러는 A 클래스를 상속 받은 자식 클래스들이 있는지 알지 못한다. 따라서 when에서 상태에 따라 처리를 해주려면 else 처리도 같이 해주어야 한다. // 부모클래스 abstract class ListState // 자식클래스 class Loading: ListState() class Success: ListState() class Failure: ListState() // ListState에 따라 동작하는 함수 fun doListState(listState: ListState): String { return when(listState) { is Loading -> { "Loading" } is Suc..
코틀린 헷갈리는 함수 정리. let, apply, run, with 1. letlet 함수를 호출하는 객체를 블록의 인자로 넘기고, 블록의 결과값을 반환한다.또한 널 처리(if (a != null) 를 대신할 수 있다. inline fun T.let(block: (T) -> R): R - 사용규칙: 널체크후 코드실행하고 싶을 경우,: 블록 내의 결과물을 반환하고 싶을 경우.: 단일 지역 변수의 범위를 제한하고싶을 경우. @Test fun blockTest() { val person = Person("park", "jieun") val result = person?.let { printPerson(it.lastName + it.firstName) } Assert.assertEquals(result, "pa..
3.자바와는 다른 코틀린의 특징 클래스: 자바와 달리 코틀린에서만 제공하는 클래스에 대한 기능을 살펴본다. - 데이터 클래스: 자료를 구성하는 프로퍼티만 선언하면 컴파일러가 equals(), hashCode(), toString()함수를 자동으로 생성해준다.data class Person(val lastName: String, val firstName: String): 객체.toString()을 하면 다음과 같은 출력결과가 나온다.val me = Person("John", "Park") println("Me = $me" )Me = Person(lastName=John, firstName=Park) - 한정클래스(sealed class): enum 클래스를 확장한 개념으로, 각 종류별로 하나의 인스턴스만 ..
2. 자바와 비교해 보는 코틀린 2 자료/자료형의 확인 및 변환 - 자료의 동일성 확인: ==, === 연산자 : == 연산자는 객체냐 객체의 값이냐를 구분할 필요 없이 ==연산자를 사용한다. 또한 비교하는 값의 널 여부를 함께 확인한다.: === 연산자는 객체 자체가 동일한지 여부에 대한 비교 연산자이다. - 자료형 확인: is 연산자: is연산자는 자료형을 확인하기 위해 사용한다. (자바의 instanceOf): !is 연산자는 자료형이 아닌지는 확인할때 사용한다. - 자료형 변환: as 연산자123fun processNumger(number: Number) { val foo : Int = number as Int}Colored by Color Scriptercs - 스마트 캐스트: 자료형 추론이 가..
2. 자바와 비교해 보는 코틀린 기본 자료형코틀린은 모든 타입을 객체로 표현하므로 원시 타입(int, double)과 래퍼 클래스(Integer, Double)를 구분하지 않는다.kotlin.Bytekotlin.Shortkotlin.Intkotlin.Longkotlin.Charkotlin.Floatkotlin.Doublekotlin.Boolean - 숫자: 숫자와 타입, 진법을 함께 표현하기 위해 사용하는 리터럴 표기법은 자바와 대부분 동일하다.: Long타입은 대문자만 지원한다. 12val longValue: Long = 100L cs - 연산자: 숫자 연산자는 자바보다 더 직관적이다.: and, or, xor, inv, shl, shr, ushr - 문자: 코틀린에서는 문자만 대입할 수 있다.12va..
1.코틀린이란?코틀린은 젯브레인(JetBrains)에서 만든 언어로, 2016년에 정식 버전이 출시 되었다.코틀린은 간결한 문법과 풍부한 기능, 높은 안정성을 토대로 높은 생산성을 보장하는 것을 목표로 개발되었고, 자바와 100%호환된다. 코틀린의 특징- 간결한 문법: 문장 끝에 세미콜론(;)이 없다.: new 키워드를 쓰지 않고 객체를 생성한다.: 타입 추론을 지원하므로 보통 타입을 적지 않아도 된다. - 널 안전성: 객체 타입의 변수에서 널 값 허용 여부를 구분하며, 널 값의 허용 여부를 컴파일 단계에서 검사하므로 런타임에서 발생하는 오류를 줄일 수 있다. - 가변/불변 구분: 변수의 값에 대해 가변/불변 여부를 구분한다. 또는 컬렉션 자료형에 대해서도 가변/불변 여부를 구분한다.: val(value..
Kotlin에서 DataBinding 사용하기 Kotlin에서 DataBinding을 사용하려면 아주 간단한 설정 후 사용 할 수 있다. 1. build.gradle 설정앱 모듈의 build.gradle에 databinding 요소를 추가한다. build.gradle123456android { .... dataBinding { enabled = true }}cs 2. layout 파일DataBinding 레이아웃 파일은 layout의 루트 태그로 시작하고 그 뒤에 data요소와 view루트 요소가 나온다.따라서 xml 파일의 루트를 layout 태그로 감싼다. activity_main.xml12345678910111213141516 Colored by Color Scriptercs 자바에서는 위의 1,2..