ios(6)
-
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 -
iOS 13,어두운 화려함 (베타8, 퍼블릭베타7)
애플이 iOS13을 지난 6월 WWDC에서 공개한지도 두 달이 훌쩍 지났다. 벌써 8번째 베타버전이 릴리즈되었고 기존 수순을 톺아보자면 아마 두-세번 정도의 베타 릴리즈 후 9월에 있을 새로운 아이폰 공개행사 때 정식 버전이 공개될 것이다. 하지만 언제까지고 기다릴 수 없는 이 박한 참을성을 가진 놈은 서둘러 퍼블릭베타를 올려보았다. 아마 이번 iOS13의 가장 큰 차이점이라면 아이폰과 아이패드의 OS가 분리되었다는 것일 것이다. 아이폰은 기존의 iOS 네이밍을 가져가고 아이패드는 iPadOS라는 이름을 달고 앞으로 다른 길을 걸어가려한다. 한편 iOS13에서는 기능상의 큰 차이를 두고 있진 않은데, 다만 iPadOS에서 아이패드의 멀티테스킹 능력을 크게 향상시켜 놓았다는 데에 있다. 대놓고 iOS13는..
2019.08.25 -
WWDC2019, "우리 음악이나 같이 들을까요?"
WWDC, World Wide Develpers Conference 애플의 세계 개발자 회의로 매년 6월 무렵 열린다. 올해도 어김없이 5월 어느 무렵 초청장이 발송됐다. 우리의 성대한 회의에 개발자 당신을 초청하겠다고. WWDC는 으레 참가하는 개발자가 아닌 사람들에게는 키노트를 보기위함이다. 새로운 소프트웨어가 공개되는 자리. 대개 iOS와 MacOS, 언제부터는 WatchOS와 tvOS까지 공개되는 자리. 사이드메뉴로 신제품을 공개할 때가 있어서 그게 무엇이려나 기대하는 맛도 있다. 직접 참가하게 된다면 수많은 애플직원들이 제공하는 세션에 며칠간 참여하면서 개발하며 궁금했던 부분을 배우고 해결할 수 있는 천국이 열리게 되는데, 참가비는 쏠쏠해서 1599달러 되시겠다. 프레스나 개발자가 아니라면 쉬이..
2019.06.10