전체 카테고리 197

[Swift] WWDC21 Bring accessibility to charts in your app

최근에 접근성에 대한 글을 보곤 해본적이 없어서 호기심에 하나씩 세션을 들어보려고해요! 이번 세션에서 다룰 목차입니다 차트에 접근 가능할 수 있게함으로서 얻을 수 있는 이점 시각적 측면에 대한 포괄적 결정을 위한 몇가지 원칙 VoiceOver을 통해 차트를 인식 및 탐색하는 방법 오디오 그래프 기능 --- 차트는 세부사항에 깊이 접근할 필요 없이 데이터가 무엇을 말하는지 빠르게 이해할 수 있기 때문에 유용합니다 그러나 차트는 시각장애인이나 시력이 낮은 사람들이 본질적으로 접근할 수 있는것은 아닙니다. 보이지 않으면 시각차트는 가치가 없습니다. 오디오그래프를 지원해서 차트의 상세를 볼 수 있도록 음성 지원이 나타나고 차트그래프를 신호음으로 높낮이를 보여주고 차트의 전체뿐 만아니라 부분만 집중해서 소리가 나..

iyOmSd/Title: Swift 2021.12.08

[Swift] WWDC21 Meet async/await in Swift

String을 통해서 이미지를 가져오기 까지의 과정이다 이 과정들은 이전 작업에 따라 달라질 수 있다 즉, 순서대로 실행되야 합니다 URLRequest를 호출하는 부분과 Data로 이미지를 구성하는 것같이 빠르게 값이 반환되는 함수들은 함수가 실행되는 스레드에서 실행하여 동기호출이 되도록 하는 것이 좋습니다. 하지만 일부는 시간이 걸립니다 데이터를 다운로드하는 데 시간이걸리고 썸네일을 만들기위해 비싼 작업을 할 수 있는 장치가 필요하다 이러한 이유로 SDK는 이러한 작업을 완료하기위해 비동기 기능을 제공합니다 이러한 호출은 비동기식이어야 합니다 async/await 를 사용하기전 우리는 completion handler를 사용했다 fetchThumbnail이 호출되면 thumbnailURLRequest를..

iyOmSd/Title: Swift 2021.11.17

[Swift] UIViewPropertyAnimator

오랜만에 글을 쓰게되네요 ㅎ.. UIViewPropertyAnimator가 뭔가아...?! 는 wwdc를 보면서 대충 이렇게 하는구나 알겠는데 직접사용하려다보니 헷갈려서 정리해보려고해요 우선 UIView.animate를 많이사용했었는데 차이점을 보고가야겠죠 가장큰차이로는 버전이 제일크죠 최신API! 라는점 그리고 애플에서도 UIViewPropertyAnimator사용을 권장하구요 A UIViewPropertyAnimator object lets you animate changes to views and dynamically modify your animations before they finish. With a property animator, you can run your animations from ..

iyOmSd/Title: Swift 2021.10.26

[RxSwift] RxDataSource TableView Cell타입별 그리기

하나의 TableView안에 위처럼 다양한 CellType을 적용해야할 때가 존재해요 그럴때 RxDataSource를 이용해서는 어떻게 처리하나~ 에대해서 한번 알아보겠습니다 먼저 CellModel을 만들어볼거에요 // MARK: - Cell Model struct TestSection { var items: [Item] } enum TestItem { case aCell(ACellModel) case bCell(BCellModel) case none } extension TestSection: SectionModelType { typealias Item = TestItem init(original: TestSection, items: [Item] = []) { self = original self.it..

[Swift] cannot find type 'class' in scope 에러

이런 에러를 가끔 만날 수 있는데 이 에러를 해결하는 방법으로는 1. 클린빌드 + 다시빌드 커맨드+쉬프트+K 를 눌러서 클린빌드를 하고 다시 커맨드 + B를 눌러서 빌드해서 Xcode에 반영이 안돼서 에러난 경우를 막을 수 있어요 이 방법으로도 해결되지 않았다?! 2. target설정 그러면 타겟을 한번 확인해보면 좋을것 같아요 커맨드+옵션+0(숫자) 를 누르면 오른쪽 메뉴창이뜰거고 뷰컨트롤러는 target설정이 잘되어있지만 AClass파일은 target이 빠져있는게 보이죠?? 타겟을 설정해주면 그 파일안에 있는 클래스에 잘 접근 할 수 있씁니다!

iyOmSd/Title: Swift 2021.09.09

[RxSwift] Filtering Operators

ignoreElement() 모든 next이벤트를 무시함 하지만 completed error같은 중지이벤트는 허용함 example(of: "ignoreElements") { let strikes = PublishSubject() let disposeBag = DisposeBag() strikes .ignoreElements() .subscribe { _ in print("You're out!") } .disposed(by: disposeBag) strikes.onNext("X") strikes.onNext("X") strikes.onNext("X") strikes.onCompleted() } --- Example of: ignoreElements --- You're out! element(at:) 해당 ..

[Swift] WWDC17 Advanced Animations with UIKit

애니메이션에 대한 몇가지 기본적인 것과 애니메이션은 어떻게 동작하는지 다루고 현대적 기법을 사용해서 애니메이션을 Interactive으로 만들어서 중단시키는 방법에 대해 논의하고 iOS11에서 제공하는 새로운 API에 대해 이야기하는 세션입니다! 그리고 애니메이션을 Coordinating하는 방법을 보일것이고 마지막으로 몇가지 팁과 트릭, 그리고 기술을 검토하여 훌륭한 애니메이션을 만들 수 있도록 도와준다 합니다 목차 Basic Interactive and Interruptible Animations New Property Animator Behaviors Coordinating Animations Tips and Tricks Basic X의 위치를 0에서 100으로 만들기위해 할 수 있는 방법은 UIV..

iyOmSd/Title: Swift 2021.08.29

[Swift] WWDC21 Analyze HTTP traffic in Instruments

애플에서 추천해주기까지하는 네트워크 트래픽을 검사하는 툴이있어요 https://developer.apple.com/documentation/network/taking_advantage_of_third-party_network_debugging_tools Apple Developer Documentation developer.apple.com 저도 Charles를 쓰는데요 ㅎㅎ Xcode13 부터 이젠! 자체적으로 만들었고 이것을 이용해서 트래픽을 검사할 수 있다를 소개하는 세션입니다! 사용방법은 Product → Profile → Network 에서 사용할 수 있는 기능입니다 분명.. 릴리즈 노트를 보면... 시뮬레이터에서 이제 사용할 수 있다면서...ㅠ 베타 3버전에서는 안돼던게 돼는건 맞는데 기록이 ..

iyOmSd/Title: Swift 2021.08.07

[Git] 소스트리를 이용한 Rebase, 커밋내역 깔끔하게 정리하기

협업하면서 git을 이용해서 작업물을 합칠 때 대부분 merge를 많이 사용하고 있을 텐데요 rebase라는 기능이 있다는걸 알고계신가요?! 프로젝트가 큰경우에 많이 쓰는거 같은데요 불필요한 커밋내역들을 깔끔하게 정리하기위해서 많이들 사용하는 방법이라고 해요 가지가 줄어들어서 확실히 보기 좋아져요 예시로 알아봅시다~~ 이러한 작업을 한 브렌치가 있어요! 가지모양은 main -> develop -> a -> b 이렇습니다! a브렌치에서 작업을 커밋했고 b브렌치에서 작업을 커밋했고 develop에서 작업을 커밋해서 커밋 시간순으로는 a -> b -> develop 브렌치 순이죠 여기서 이제 리베이스를 통해서 이쁘게 연결해 보려고해요 리베이스를 할 작업한 브렌치로 (체크아웃)이동해야해요 a브렌치를 먼저 reb..

끄적 끄적/Git 2021.08.03

[Swift] WWDC21 ARC in Swift: Basics and beyond

ARC에서 생길수 있는 객체생명주기에 따른 버그가 일어날 수 있는 상황을 알아보고 해결하는 방법을 제시하고 Xcode의 새로운 기술을 소개해주는 세션이에요 목차는 2개에요 Object lifetimes and ARC - 객체의 수명과 ARC Observable object lifetimes - 객체수명에 따른 버그문제 해결방법 Class는 Swift에서 참조유형이며 사용을 결정하면 Swift는 자동으로 참조카운트 또는 ARC를 통해서 메모리를 관리해요 Object lifetimes and ARC 아래와같이 객체 수명과 ARC에 대해 설명합니다 객체의 lifetime은 initialization에서 시작하고 마지막으로 사용할때 끝 ARC는 수명이 끝난후에 객체를 해제하여 메모리를 자동으로 관리 레퍼런스 카..

iyOmSd/Title: Swift 2021.07.24