목록Swift (29)
Weekoding
ViewController간 데이터를 주고받는 방법은 6가지가 있다. 1. 직접 프로퍼티에 접근 2. 함수를 통한 접근 3. Segue 4. Delegate 5. Closure 6. NotificationCenter 그 중 1, 4번을 간단한 예제를 통해 정리해보려고 한다. ( 나머지는 추후에..! ㅎㅎ ) 먼저 잠깐 알아보자면 1~3번의 방법들은 남발하게 되면 좋지 않은데, 이 방법들은 다른 ViewController에 직접적으로 의존하게 되므로 강한 결합이 되어있는 형태가 된다. 이는 객체 간 모듈화에도 좋지 않으며 스파게티 코드가 될 위험이 있다고 한다. 4~6번의 방법은 이러한 강한 결합 형태의 문제점을 벗어나 서로 의존하지 않는 구조로 전달할 수 있다. 이번 예제에서는 FirstViewContr..
공부하던 중 lazy 키워드를 발견했다. Bruno Mars의 'The Lazy Song'이 먼저 생각나는 걸 보니 아직 많이 부족한가보다^^ 농담은 그만하고 바로 알아보도록 하자! 📂 ' lazy ' : 게으른, 여유로운 : "A lazy stored property is a property whose initial value is not calculated until the first time it is used" → 처음 호출되기 전 까지는 초기화 값이 계산되지 않는 프로퍼티. -Swift Programming Guide 호출 시에 생성이 되면서 메모리에 올라가고, 이후 같은 변수 사용 시엔 이전에 생성된 프로퍼티를 이용한다. 이름 값 하는 키워드이다! lazy 키워드를 갖는 프로퍼티가 어떤 상황에..
Storyboard 없으면 세상이 무너지는 줄만 알았던 나... Snapkit과 code 형식으로 AutoLayout을 짜는 것에 재미를 붙이고 있는 중이다. 코드로 작성된 UIKit 기반 레이아웃의 한 가지 불편한 점은 Simulator 혹은 Device에 build하기 전까지는 결과물을 알 수 없다는 것이다. UIKit 이후에 나온 SwiftUI는 PreviewProvider를 통해 코드 변경 시, 실시간으로 변경되는 UI를 확인할 수 있다. 컴파일 과정이 필요 없어 상당히 효율적이며, 편리하다. ( 사소한 변경마다 cmd+R 을 귀찮게 누르지 않아도 된다 ! ) 그러던 중 기가막힌 방법을 알게 되었다. 바로 UIKit 환경에서도 PreviewProvider의 사용이 가능 하다는 것. 지금부터 알아..
⌘ 이번 포스팅은 지난 포스팅과 이어지는 포스팅이다.
최근 공부하는 프로젝트들이 Storyboard(Interface Builder)를 일절 사용하지 않고(삭제한다), Snapkit과 코드를 이용하여 UI를 만든다. " 시각적으로 뚜렷하게 보여 layout 걸기 편리할 것 같은 Storyboard를 왜 안쓰지? " 라는 생각에 현업 중인 친구에게 물어봤더니, 코드 UI가 속도면에서 효율적이고, Storyboard는 협업 시 crash가 종종 발생한다고 한다.(종종 버그가 있나보다) 익혀둘 필요가 있다고 생각해 Snapkit을 사용하기 위한 환경 설정에 대한 방법을 해보려고 한다. 이번에도 이해 가능한 부분까지 뜯어보면서 진행 해볼 것이다.ㅎ 1. StoryBoard를 제거하기 전에.. 두 가지 속성을 제거해야 한다. 이전 버전에서는 info.plist에 둘..
Xcode의 코드들을 접하다 보면 이런 코드를 보았을 것이다. DispatchQueue.main.async { self.tableView.reloadData() } 결론적으로는 'main thread에서의 비동기 실행을 위한 코드'이다. 어떤 상황에서 사용되며, DispatchQueue / .main / .async가 각각 무엇을 의미하는지 살펴보자. 또한 그 전에 프로세스, 스레드의 개념을 짚어볼 것이다. ⇢ 프로세스와 스레드 process: 실행중인 프로그램. '단위'로써의 개념을 갖고 있는 작업이라고도 할 수 있다. 보통의 프로그램들은 하나의 코드 덩어리로, 저장 장치에 저장되어 있는 정적인 상태이다. 그러나 실행되어 CPU를 할당받고 메모리에 올라가게 되면(동적인 상태가 되면) 작업으로써의 단위 ..