IT/iOS(4)
-
Swift에서 'Sort' 와 'Sorted'의 차이
Python에 익숙해진 손뚱아리가 습관적으로 Sorted를 눌러대려니 Swift는 내게 네가지 옵션을 줬다. 뭐가 다른건가 해서 일단 가장 익숙한 sorted를 선택해봤다. 원하는 형태로 클로져와 리턴값을 뚝딱거려주니.. 당연하게도 경고를 준다. 아래의 예시는 dayList에 속하는 Day 자료형들을 추출해서 날짜순으로 정렬을 시도한 것이다. sorted를 통해 나온 결과가 사용되지 않았다는 것. 실제로 빌드해봐도 리스트가 정렬되지 않고 요지부동인 걸 확인할 수 있었다. 무엇인 문제인고 정의를 살펴보니, Sort: Sorted: 다시말해 Sort의 경우 콜랙션으로 묶인 데이터들을 직접 주어진 정렬 기준에 따라 정렬하는 데에 반해 Sorted는 해당 데이터들을 고스란히 복사하여 정렬 기준에 따라 정렬 후 ..
2023.02.23 -
UIKit과 Foundation 차이점(애플은 다 계획이 있구나)
관성적으로 하는 것들에 궁금증이 많아지는 요즘이다. 내가 원하는 프로그램을 만들어가려다보니 한 줄 한 줄 신경써야할 것들이 많아졌고, 이번엔 가장 첫줄에 해당하는 이 두가지부터 햇갈리기 시작했다. 처음 우리가 프로젝트 내에서 파일을 생성할 때에 Swift File을 선택하면 Foundation이 자동으로 임포트되어있고, Cocoa Touch Class를 임포트하면 UIKit이 임포트되어 있는 것을 볼 수 있다. 그럼 대체 Cocoa Touch는 뭐지? 이걸 이해하려면 먼저 아래 iOS의 프레임워크 구조부터 이해해야한다. iOS는 어플리케이션에서 하드웨어까지 도달하는 과정에 다음과 같은 계층 구조를 갖고있는데, 이처럼 Cocoa Touch는 Application에 가장 가까운 계층으로 유저 인터렉션에 직접..
2023.01.12 -
RxSwift는 왜 쓰는걸까?(부제: DispatchQueue의 늪) - 2
2022.11.29 - [IT/iOS] - RxSwift는 왜 쓰는걸까?(부제: DispatchQueue의 늪) RxSwift는 왜 쓰는걸까?(부제: DispatchQueue의 늪) 그동안 RxSwift를 공부하지 않았었다. 당장 스스로 Reactive Programming에 대한 필요성을 못 느꼈기 때문이다. 현업에서 어쩌면 가장 활발히 쓰이고 있는 라이브러리인 것이 자명할 지라도 아직 초보 iO eleste.tistory.com 앞선 글에서 이렇게 서술한 바 있다. 간단하게 말해 코드의 실행이 짜여진 코드에 맞추어 일련의 과정을 따라 수동적으로 이루어지는 것이 아니라, 유저의 인터렉션, API 호출 등에 따라 일정 변수 값(정확이는 이를 포괄하는 상태 값)이 변경되었을때 해당 상태 혹은 상태 변화가 ..
2022.12.12 -
RxSwift는 왜 쓰는걸까?(부제: DispatchQueue의 늪) - 1
그동안 RxSwift를 공부하지 않았었다. 당장 스스로 Reactive Programming에 대한 필요성을 못 느꼈기 때문이다. 현업에서 어쩌면 가장 활발히 쓰이고 있는 라이브러리인 것이 자명할 지라도 아직 초보 iOS 개발자가 뭣도 모르고 유명하니까 쓰는 건 왠지 기분이 나빴다. 그러다 최근에서야 그 필요성을 느끼기 시작했다. 흔한 설명이지만 일단 RxSwift가 무언인가. 하면 Swift에서 Reactive Programming을 가능하게 해주는 라이브러리로 요약할 수 있다. Reactive Programming은 데이터의 흐름의 방향 및 그 동작 방법이 완벽하게 잘 짜여졌던 기존의 명령형 프로그래밍과 달리 '상태 변화'와 그 '전파'에 초점을 맞춘다. 잘 이해가 안간다면 정상이다. 간단하게 말해 ..
2022.11.29