일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ios
- weak
- View
- 프로그래머스
- 안드로이드
- Subject
- 차이
- 서브스크립트
- concurrency
- 해시
- Swift
- RxSwift
- 스위프트
- 연산자
- 테스크
- 클로저
- 풀이
- 리스트뷰
- 알고리즘
- observable
- 프래그먼트
- 옵셔널
- 생명주기
- 자바
- 이스케이핑
- 구조체
- Self
- rx
- 백준
- async
- Today
- Total
목록전체 글 (177)
study record
서브스크립트는 별도의 설정자 또는 접근자 등의 메서드를 구현하지 않아도 인덱스를 통해 값을 설정하거나 가져올 수 있다. 예를 들어 someArray라는 Array 인스턴스의 인덱스를 통해 해당 인덱스의 값에 접근하고 싶다면 someArray[index]라고 표현하는 것이 서브스크립트이다. 서브스크립트를 여러 개 구현해도 외부에서 서브스크립트를 사용할 때는 서브스크립트를 사용할 때 전달한 값의 타입을 유추하여 적절한 서브스크립트를 선택하여 실행한다. 이렇게 여러 서브스크립트를 한 타입에 구현하는 것을 서브스크립트 중복 정의라고 한다. 서브스크립트는 통상 하나의 매개변수를 갖는 것이 보통이지만 타입에 따라 여러 매개변수를 가지는 경우도 있다. 매개변수의 타입과 반환 타입에는 제한이 없다. 함수와 마찬가지로 ..
프로그래밍에서 모나드가 갖춰야 하는 조건 타입을 인자로 받는 타입(특정 타입의 값을 포장) 특정 타입의 값을 포장한 것을 반환하는 함수가 존재 포장된 값을 변환하여 같은 형태로 포장하는 함수가 존재 모나드를 이해하는 출발점은 값을 어딘가에 포장하는 개념을 이해한 것에서 출발한다. 스위프트에서 모나드를 사용한 예 중에 하나가 바로 옵셔널이다. 옵셔널은 값이 있을지 없을지 모르는 상태를 포장하는 것이다. 함수객체와 모나드는 특정 기능이 아닌 디자인 패턴 혹은 자료구조라고 할 수 있다. 컨텍스트 이번 파트에서 컨텍스트는 '콘텐츠를 담은 그 무엇인가'를 뜻한다. 물컵에 물이 담겨있으면 물은 콘텐츠고 물컵은 컨텍스트라고 볼 수 있다. 옵셔널은 열거형으로 구현되어 있어서 열거형 case의 연관값을 통해 인스턴스 안..
맵 맵은 자신을 호출할 때 매개변수로 전달된 함수를 실행하여 그 결과를 다시 반환해주는 함수이다. 배열, 딕셔너리, 세트, 옵셔널 등에서 사용할 수 있다. 맵을 사용하면 컨테이너가 담고 있던 각각의 값을 매개변수를 통해 받은 함수에 적용한 후 다시 컨테이너에 포장하여 반환한다. 기존 컨테이너의 값은 변경되지 않고 새로운 컨테이너가 생성되어 반환된다. 맵은 기존 데이터를 변형하는데 많이 사용한다. map 메서드의 사용법은 for-in 구문과 별 차이가 없다. 다만 코드의 재사용 측면이나 컴파일러 최적화 측면에서 성능 차이가 있다. 다중 스레드 환경일 때 대상 컨테이너의 값이 스레드에서 변경되는 시점에 다른 스레드에서도 동시에 값이 변경되려고 할 때 예측지 못한 결과가 발생하는 부작용을 방지할 수도 있다. ..
캘린더에 특정 날짜들에만 특정 이미지를 넣고자 하였다. 하지만 구글링하여도 잘 나오지 않았고, 공식 깃허브 사이트에도 그 방법이 제대로 나와있지는 않았다. 예시로 올려준 https://github.com/WenchaoD/FSCalendar/blob/master/Example-Swift/FSCalendarSwiftExample/InterfaceBuilderViewController.swift 이 파일을 참고하여 기능을 구현하였다. fileprivate let datesWithCat = ["20211201","20150605"] // 특정 날짜에 이미지 세팅 func calendar(_ calendar: FSCalendar, imageFor date: Date) -> UIImage? { let imageDa..