본문 바로가기

전체 글4

[Swift] 클로저 (Closures) 란? 안녕하세요 ^_^ 이번 포스팅은 Swift의 핵심이라고 생각되는 " 클로저 " 를 주제로 글을 작성해보도록 하겠습니다. 클로저 (Closure) 클로저는 Named Closure , Unnamed Closure 두 가지 형태로 존재합니다. Named Closure Named Closure의 경우에는 클로저의 이름이 정해진 형태로써 흔히 함수라고 불립니다. UNNamed Closure UNNamed Closure의 경우에는 이름이 없는 함수라고 생각하시면 돼요. 클로저 표현 문법 (Closure Expressions) { (parameters) -> return type in statements } 클로저의 표현식은 크게 두 부분으로 나눠서 설명할 수 있을 거 같아요. : 인자를 넣을 parameters .. 2022. 1. 19.
[UIKit] 화면 터치 시 키보드 내리기 (keyboard hide) 이번 포스팅에서는 화면을 클릭했을 때 키보드가 내려가는 방법을 배워볼까 합니다. 우선 구현을 해봅시다! 여기서 touchesBegan 이라는 func은 터치가 시작되는 순간을 실행되는 func입니다. 터치가 되었을 때 keyboard를 강제로 내리는 설정을 해줍니다. == view.endEditing(true) 여기서 endEditing은 UIView의 익스텐션에 구현되어 있는 함수인데요 정확히 말하자면 keyboard를 강제로 내리는 액션을 취하는 게 아니고 the first responder resign -> 뷰가 그려졌을 때 초기 상태로 되돌린다(?)의 의미를 담고 있습니다. 그러니까 내가 textfield를 클릭해서 keyboard가 올라간 거고? keyboard가 내려간 상태가 곧 초기 상태인 .. 2022. 1. 17.
[Swift] ARC 개념 및 weak, unowned 알아보기 (2) 이전 포스팅에서는 참조 count 가 0인 지점에 도달하는 간단하고 베이식 한 예시를 보여드렸다면 이번 포스팅에서는 참조 count 가 0인 지점에 도달하지 못하는 코드를 예시로 발생할 수 있는 문제점과 이를 해결하기 위한 방법은 무엇이 있는지 알아보겠습니다. 이전 포스팅 참조 https://open95.tistory.com/entry/Swift-ARC-%EA%B0%9C%EB%85%90-%EB%B0%8F-weak-unowned-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0-1 Swift 공식문서에 있는 위 예제 코드를 보시면 Person 클래스의 apartment 변수는 Apartment 클래스의 인스턴스를 소유하고 있고 Apartment 클래스에서 tenant 변수는 Person 클.. 2022. 1. 15.
[Swift] ARC 개념 및 weak, unowned 알아보기 (1) ARC(Automatic Reference Counting) Swift 에서는 앱의 메모리 사용을 추척 및 관리하기 위해 ARC를 사용합니다. Automatic에서 알 수 있듯이 해당 인스턴스가 필요 없을때 메모리를 자동으로 해제합니다. 인스턴스가 필요없는 순간은 Refenrence Count가 0이 되는 순간을 뜻합니다. 간단한 예제를 보면 class Person { let name: String init(name: String) { self.name = nameprint("\(name) is being initialized") } deinit { print("\(name) is being deinitialized") } } 우선 이니셜라이저를 통해 name 프로퍼티를 초기화하는 Person 클래스를.. 2022. 1. 4.