본문 바로가기

iOS82

[Swift] Hashable 와 너무 졸리다 오늘은 Hashable.. 그저 딕셔너리의 키, 세트같은 중복값이 들어갈 수 없는 애들은 Hashable하다 라고만 알고있었는데, 저번주에 combine인가 hash 인가하는 메서드를 보고 공부해봐야겠다고 느껴서.. 먼저 Hashable이란 정수 해시값을 제공하여 유일하게 표현이 가능한 방법을 제공하는 프로토콜이다. 보통 hash한 값이다.. 하면 뭐.. 유일한 값, 중복되지 않는 값 -> UUID...? 뿐이 생각안나네 ㅋㅋㅋ오 때려맞춤 ㅋㅋㅋㅋ 요건 UUID에 대한 잼난 글이 있길래.. https://medium.com/@jang.wangsu/ios-swift-uuid는-어떤-원리로-만들어지는-것일까-22ec9ff4e792 [iOS, Swift] UUID는 어떤 원리로 만들어지는 것일.. 2022. 5. 2.
[Swift] Increasing Performance by Reducing Dynamic Dispatch 많이들 고민하고 사용하는 Class.. 클래스와 구조체는 할당부터 차이가 있지만 이번엔 Method Dispatch에 관련하여 알아보려 한다. 근데 Method Dispatch가 뭔데..? 디스패치하면 연예인들 찍는 게 생각날텐데, 직역한다면 메소드 부치기... 발송하기..? 메소드를 어느 곳에 부칠지에 대한 의미가 어느정도 들어맞는 것 같다. Method Dispatch란 특정 함수 호출시 어느 곳에서 함수를 호출할 것이며 어떤 함수를 호출할 것인지를 결정해주는 방식이라고 생각하면 될 것 같다. 우선 각 Dispatch 방식부터 간단히 알아보고 가자 이번 글은 클래스의 성능향상이니... 결론부터 말하자면 Method Dispatch 방식은 두가지로 나뉜다. Static Dispatch Dynamic D.. 2022. 4. 22.
[RxSwift] Observable, Dispose "Observable sequences를 사용하는 비동기 프로그래밍을 위한 Library" Rx는 Observer 패턴을 사용하며 Observer 패턴이란 특정 객체가 방출할 이벤트를 Observe(관찰)하고 있다가 이벤트 발생을 포착하면 특정 동작을 하는 패턴이다. 방금 말한 Observer 패턴에서 이벤트, 알림을 방출(emit)하는 특정 객체를 Observable, 이벤트를 관찰(subsribe, observe)하는 객체를 Observer라고 한다. 꽤나 간단하다 Observable Observable는 Event를 방출한다. Observer(구독자)는 Observable을 관찰(구독, Subscribe)하고 있다가 전달되는 이벤트를 처리한다. Observer가 Observable을 감시, 관찰하는.. 2022. 3. 20.
HIG) ScrollView ScrollView 제스쳐를 활용하여 손가락을 모으거나, 탭하여 확대, 축소하도록 Zoom 동작을 적절하게 지원해라. 하나의 단어가 화면 전체를 채울 때까지 확대하는 등의 대부분의 앱에서 의미 없는 확대, 축소를 막기위해 적절한 최대, 최소 배율값을 설정해라 ScrollView가 Paging모드일 경우 PageControl을 보여라 다만 ScollView로 PageControl을 표시하는 경우, 혼동을 피하기 위해 동일한 축에서 Scroll indicator 를 비활성화해라 다른 ScrollView안에 ScrollView를 놓지말아라 제어하기 어려운, 예측할 수 없는 인터페이스가 생성되므로 지양해라 일반적으로 한 번에 하나의 ScrollView를 표시해라 사람들은 스크롤할때 큰 제스처를 자주 취하므로 같.. 2022. 2. 22.
HIG) Alerts Alerts Alert은 앱이나 기기의 상태에 관련된 중요한 정보를 전달하고, 피드백을 요청하기도 한다. Alert이 갖고 있는 구성 요소 타이틀(Alert의 제목) 부가 메세지(선택사항) 하나이상의 버튼(OK, Cancel 등) 입력을 받을 Textfield(선택사항) 위의 구성 요소 이외에 Alert의 모양의 경우 정적이므로 커스텀할 수 없다. 애플의 Alerts 권장 사항 Alert을 최소화하라 Alert은 UX를 저하(방해)시킵니다. 그러므로 구매 확인, 파일 삭제, fatal한 오류 발생같은 중요한 상황에만 사용을 해야합니다. Alert의 빈도를 적게함으로써 사용자로 하여금 심각하게 받아들일 수 있게 해야한다. Alert은 잘 뜨지 않는건데 떴네?! 이거 겁나 심각한 문제 아녀??? 하게끔 하라.. 2022. 2. 22.
HIG) Steppers HIG의 소중함과 진귀함을 느끼고 있기에.. 정리를 해보려한다. 우선.. 차례대로 해보려했는데.. 가장 최근에 사용해야했고, 읽어야했던게 Steppers라서 먼저 정리해보려한다. Steppers Steppers는 증분(변화량)값을 늘리는데 사용되는 두개의 Segmented Control이다. Stepper는 기본적으로 하나의 세그먼트는 플러스 심볼(+), 다른 하나의 세그먼트는 마이너스 심볼(-)로 이루어져 있다. 사용자(개발자)가 원한다면, 두 심볼을 다른 커스텀 이미지로 교체할 수 있다. Apple 권장 Stepper의 영향을 받는 값을 명확하게 해라 Stepper는 스스로 어떠한 값도 보여줄 수 없다. 그러므로 사용자가 Stepper를 사용하였을 때 어떤 값을 변경하는지 명확히 알 수 있도록 해야한.. 2022. 2. 22.