본문 바로가기

iOS/Swift9

[Swift] 메모리 참조, ARC, Strong Reference Cycle 이해하기 이번 글에서는 Swift 언어에서 메모리를 관리하는 방식인 ARC에 대해 알아보고, 메모리 관리 시 주의해야 할 메모리 누수를 피하는 방법에 대해 자세히 알아보도록 하겠습니다. -1. (일반론) Reference Counting - 메모리를 관리하는 방법 -2. ARC (Automatic Reference Counting) - Swift의 메모리 관리방법 -3. ARC에서 주의해야 할 메모리 누수문제 - Strong Reference Cycle -4. Strong Reference Cycle 문제를 예방하려면? 1. (일반론) Reference Counting - 메모리를 관리하는 방법 메모리는 한정적이므로 필요한 객체는 메모리에 올리고, 더 이상 사용하지 않는 객체는 메모리에서 해제하는 등의 메모리 관.. 2021. 9. 1.
[Swift] final 키워드 이해하기 최근에 모 코테를 봤는데..거의 기술면접같은 질문을 보고..😂 Swift라는 언어에 대한 이해가 부족한 것 같아 차근차근 정리해보려고 합니다. 이번에는 final 키워드에 대해 정리해보았습니다. 1. final 의 개념 final 키워드는 상속을 막고자 할 때 사용합니다. 상속을 막고자 하는 method, property 등의 앞에 final 을 붙여 사용하게 됩니다. (Ex) final var, final func, final class func, and final subscript 또한 class 전체에 final 키워드를 붙여 클래스 전체에 대한 상속을 막을 수도 있습니다. (final class) 만일 final 키워드가 붙어있는 것을 상속하여 하면 compile-time-error가 나게 됩니다.. 2021. 8. 15.
[Swift] Dictionary 사용하기 안녕하세요. 알고리즘 문제를 풀 때 Swift에서 딕셔너리 삭제를 어떻게 해야 할지 하다 찾다 Swift에서 딕셔너리 사용법을 정리해보았습니다. 주요 내용: Dictionary 초기화, Dictionary 조회하기, 값 삭제하기 1. Dictionary 초기화 var dic : [Int: Int] = [:] var dic2 = [String: Int]() var dic3 : [Int: Int] = [1:2, 5: 8, 9:0] 2. Dictionary 조회하기 2.1. dictionaryName[key] 딕셔너리의 키에 대응되는 값을 조회하기 위해서는 dictionaryName[key] 합니다. var dic : [Int: Int] = [1:2, 5: 8, 9:0] print(dic[1]) // "Opt.. 2021. 8. 6.
[Swift] 탈출클로저 이해하기 (벨로그에서 티스토리로 기술블로그 이전중입니다.) (원 게시일 : 21년 6월 26일) 주요 내용: 탈출클로저의 개념, 탈출클로저의 쓰임 아래와 같은 함수를 보면 completionHandler뒤에 붙어 있는 @escaping이 있습니다. func dataTask(with url: URL, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) -> URLSessionDataTask이번 글에서는 @escaping이 의미하는 탈출클로저가 무엇인지, 어디에 쓰이면 좋을지 살펴보겠습니다. 1. 탈출클로저란? 탈출클로저는@escaping이 붙어있는 클로저로, 클로저가 함수로부터 '탈출'한다는 것은 해당 함수의 인자로 클로저가 전달되.. 2021. 6. 29.