raywenderlich YOUTUBE영상을 보다가 신기한 게 있어서 정리하려 합니다. (처음 들어본 팬텀 타입 ,,하하) 여기 있는 loopup 딕셔너리는 주와 수도가 연결되어 있습니다. 하지만 직관적으로 눈에 들어오진 않습니다. 이것을 개선하기 위해선 typealias를 사용할 수 있습니다. String타입 대신에 State와 Capital로 변경하면 지금 보단 직관적입니다. 조금 더 직관적으로 보이죠 ,, 😦 이렇게 하면 loopup딕셔너리는 주와 수도로 이뤄진 딕셔너리로 이전보다 파악하기 쉬워집니다. 자 그럼 주와 수도를 출력해보는 test함수를 만들고 출력해봅시다. 이렇게 test 함수를 호출했는데 출력은 The capital of Juneau is Alaska라고 출력됩니다. (주노의 주는 알..
이미지뷰의 ContentMode에 대해서 살펴보겠습니다. 이미지뷰의 ContentMode는 enum으로 정의되어있습니다. 저는 여기서 위에 3개만 자주 사용해서 밑에 것은 사용하지 않아 잘 몰랐는데 한번 차이점을 파악하려고 합니다. 위에서부터 차례대로 차이점을 살펴봅시다. (UIImageView배경은 검은색으로 설정했습니다.) (파란색 프레임은 UIImageView의 프레임입니다.) scaleToFill 이미지의 높이와 너비는 UIImageView의 크기와 일치하도록 늘어납니다. AspectFit 이미지의 가장 긴쪽(높이 또는 너비)은 뷰와 일치하도록 늘어납니다. 이렇게 하면 전체 이미지를 표시하면서 높이나 너비를 왜곡시키지 않으면서 가능한 한 이미지를 크게 만듭니다. AspectFill 이미지의 가장 ..
https://hyerios.tistory.com/33 앞에서 말한 메모리 누수의 원인인 순환 참조는 어떻게 해결할 수 있을까요 이를 해결하기 위한 방법은 두가지가 존재합니다. - weak reference 약한 참조 - unowned reference 미소유 참조 즉 강한 참조로 하지 않고도 약한 참조와 미소유 참조로도 서로를 참조할 수 있습니다. 그럼 여기서 드는 궁금증 Q. weak, unowed reference의 차이점은 뭐야! 약한 참조는 옵셔널이며 미소유 참조는 옵셔널이 아닙니다. Q. weak, unowed reference는 언제 사용할까요! 약한 참조는 다른 인스턴스의 수명이 짧을 때 사용합니다. 미소유 참조는 다른 인스턴스의 수명이 같거나 긴 경우 사용합니다. weak referenc..
스위프트의 ARC는 앱의 메모리 사용을 추적하고 관리합니다. https://hyerios.tistory.com/32에서 ARC란 무엇인지 알아보았습니다. ARC는 Person인스턴스에 대한 참조 카운트를 추적하고 Person이 더 이상 필요하지 않으면(참조 카운트가 0이 되면) 인스턴스 할당을 해제했습니다. 자동으로 관리해줌에도 불구하고 신경 써줘야 하는 게 있다고 했는데 그것은 메모리 누수입니다. 그럼 순환참조는 어떤 상황에 발생될까요 .ㅇ. 클래스 인스턴스 간 순환 참조 두 개의 클래스의 인스턴스가 서로 강한 참조로 각 인스턴스가 다른 인스턴스를 참조하는 경우 순환 참조(strong reference cycle)가 생깁니다. 예를 들어 class Person { let name: String init..
ARC란 스위프트의 ARC(Automatic Reference Counting)는 앱의 메모리 사용을 추적하고 관리합니다. 그렇기 때문에 따로 메모리를 어떻게 관리해야 하는지 생각할 필요가 없습니다. ARC는 클래스 인스턴스가 더 이상 필요하지 않을 때 클래스 인스턴스가 사용하는 메모리를 자동으로 비우기 때문입니다. (하지만 몇 가지 부분에서 신경 써줘야 하는 게 있음 ㅎㅋㅎㅋ) 레퍼런스 카운팅은 오직 클래스의 인스턴스에만 적용됩니다. 말 그대로 reference counting 참조 카운팅 = 레퍼런스 카운팅은 참조 타입만 해당합니다. 구조체/struct와 열거형/enum은 값 타입이므로 참조값을 저장하거나 전달하지 않아 이에 해당하지 않습니다. ARC 동작 방식 클래스의 새 인스턴스를 만들 때마다 A..
코딜리티의 데모 테스트의 문제는 이렇습니다. 저는 언어를 Swift4로 선택했습니다. 하하. 먼저 문제 해석 :) N개의 정수 중 A배열이 주어지면 A에서 발생하지 않은 가장 작은 양의 정수를 리턴하세요. 예를 들어 A= [1,3,6,4,1,2]이면 함수는 5를 리턴해야 합니다. A = [1,2,3]이면 함수는 4를 리턴해야 합니다. A = [-1,-3]이면 함수는 1을 리턴해야 합니다. 블라블라 효율적인 알고리즘을 작성해주라. N은 [1.. 100,000] 범위의 정수이며 A의 각 요소는 [-1,000,000.. 1,000,000]입니다. 일단 데모 테스트를 풀어보자. 핵심은 주어진 A배열에서 발생하지 않은 가장 작은 양의 정수를 리턴해야 합니다. 그냥 for문으로 1부터 A의 카운트만큼 돌려서 배열에..
Substring은 String의 일부를 말합니다. 예를 들어 Subscript를 사용하거나 prefix(_ :) 메소드를 사용해서 String에서 Substring을 가져오는 경우 스위프트에서는 String처럼 사용할 수 있습니다. 둘 다 String Protocol을 따르기 때문입니다. 하지만 String과 다르게 Substring은 작업을 수행하는 짧은 시간 동안 사용해야 합니다. 즉 Substring은 장기로 사용하는 용도가 아닙니다. 위와 같이 greeting은 문자열 Hello, world! 를 가집니다. beginning에서는 greeting의 [..
앱 라이프 사이클에 대해서 정리해보자. 앱 라이프 사이클에는 5가지 상태가 존재합니다. - Not running Application이 아직 시작되지 않았거나 실행 중이었는데 시스템에 의해 종료된 상태입니다. - Inactive Application이 Foreground에서 실행중이지만 어떠한 이벤트를 수신하지 않는 상태입니다. UIEvent를 받지 않으므로 앱과 상호작용 할 수 없습니다. 전화 또는 메시지가 수신될 때 발생할 수 있습니다. - Active Application이 Foregroun에서 실행중이며 이벤트를 수신하는 상태입니다. UIEvent를 받으므로 앱과 상호작용이 가능합니다. - Background Application이 Background에서 실행중이고 코드가 실행 중입니다. - Su..
- Total
- Today
- Yesterday
- 문자열
- Xcode
- stanford SwiftUI
- 애니메이션
- Deep learning
- 독서
- 알고리즘
- 책
- 책 추천
- 머신러닝
- ReactiveX
- Algorithm
- wwdc
- rxswift
- objc
- string
- leetcode
- RX
- ios
- 책 후기
- ARC
- 스위프트UI
- iOS SwiftUI
- Animation
- 딥러닝
- 스위프트
- objective-c
- swift5
- swiftUI
- SWIFT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |