본문 바로가기

전체 글

(99)
팀 프로젝트 우리의 타겟은(iOS13, *) 우리의 타겟은(iOS13, *) 현업에 부딪히게 될 우리들 ... 절대 iOS15개발 할 수 없을거야... iOS13으로 타겟을 정하고 만나는 Issues들 첫번 째 조우. ContextMenuInteraction.. ContestMenuInteraction이 longPress이나 iOS14부터는 탭만으로도 가능!! 두번 째 조우.. CLAuthorizationStatus를 iOS14부터는 다른 방식으로 들고 와야해요!!!! Availability 녀석... 세번 째 조우.... CLLocationManagerDelegate의 함수 locationManagerDidChangeAuthorization!! 위치 정보를 OK 한 후 새로 앱을 켰을 때! → iOS14, iOS15에서는 😁 와 이 딜리게이트 함..
GitFlow, 깃 전략, 브랜치 전략 서론 부스트캠프 멤버십 팀 프로젝트 중 깃전략에 대한 이야기가 나왔다. 처음엔 우리팀의 인원이 적어서 깃허브에 있는 upstream repository를 각자 클론해서 feat을 devlop에 합치는 쪽을 생각했었다. 팀원 중 한명이 우형의 Git-flow를 적용시켜보자고 했다.. 그래서 우형의 글을 읽게 되는데.. 참고 우린 Git-flow를 사용하고 있어요 | 우아한형제들 기술블로그 {{item.name}} 안녕하세요. 우아한형제들 배민프론트개발팀에서 안드로이드 앱 개발을 하고 있는 나동호입니다. 오늘은 저희 안드로이드 파트에서 사용하고 있는 Git 브랜치 전략을 소개하려고 합 techblog.woowahan.com 우형의 Git-flow글을 보면서 생각 upstream remote repositor..
[iOS] - KingFisher 리드미 읽기~ 리드미 해석해보자 pod v7.0.0 Kingfisher is a powerful, pure-Swift library for downloading and caching images from the web. Features 비동기 이미지를 다운로드하고 캐싱해줍니다. URLSession을 기반으로 네트워크 또는 로컬에서 이미지를 로딩합니다. 유용한 프로세서와 필터가 제공됩니다. 메모리와 디스크를 다 이용하는 캐시를 합니다. 캐시 동작을 제어할 수 있습니다. 날짜나 사이즈 사용자화 할 수 있습니다. 다운로드를 취소할 수 있고 이전에 다운로드 받은 데이터를 자동으로 재사용하여 성능을 향상시켜 줍니다. 다운로더, 캐싱시스템, 이미지 프로세서가 독립적으로 분리되어 있습니다. 이미지들을 Prefetching해서 캐시..
[iOS] - UserDefaults UserDefaults 사용자의 기본 database이며 앱 실행 중에 key-value 값을 지속적으로 저장합니다 NSObject를 상속받습니다. 주로 사용자 기본 설정의 값들을 저장합니다. Set할 때 Any, floats, doubles, integers, Boolean values, and URLs. 타입을 기본적으로 제공합니다. Collection타입도 제공합니다. Array, Dictionary, Data타입 NotificationCenter에서 didChangeNotification이 제공 removeObject(forKey: String)으로 제거 가능. 파일 시스템의 위치로도 사용가능 특이한 점 float, doubles, integers, Boolean은 Value를 get할 때 key..
[iOS] Result Enum URLSession의 dataTask를 처리할 때 completion으로 @escaping closure를 자주 사용했습니다. 이때 파라미터로 그냥 값만 넘겨주게 되었는데 저는 제가 필요한 부분에만 completion을 넣었는데 알고보니 closure가 다 실행되기 때문에 guard나 if같은 분기가 발생할 경우 마다 completion을 다 넣어주어야 했습니다. 이 때 주로 사용하는 Result Enum에 대해서 간단하게 집고 넘어갑시다. ㅎ - Declaration만보면 enum타입이고. Success, Failure이라는 두개의 값을 각각 가지고 있습니다. 성공시 실패시 두다 데이터를 전달해서 체크를 하는 것 같습니다. - where를 보면 Failure이라는 Generic은 Error프로토콜을 따..
[iOS] - UITableView 노션에서 정리하고 옮기니까 이상 이상... UITableView 클래스 NSObject→UIResponder→UIView→UIScrollView→UITableView 테이블 뷰는 수직으로 스크롤되는 컨텐츠를 표현합니다. UITableViewCell을 이용하여 테이블 내의 컨텐츠를 만들 수 있습니다. UITableView.Style plain = 0 headers와 footers가 구분되어 표시되고 테이블이 스크롤됩니다. headers가 스크롤에 맞춰서 움직임 grouped = 1 테이블 뷰가 스크롤 될때 headers와 footers가 같이 움직임 insetGrouped = 2 섹션별로 테두리가 둥글게 표시됩니다. UITableVIewDelegate 행동에 대한 동작을 수행 사용자 지정 header와 f..
[Swift] Generic Generic CPP에서 템플릿을 썼었는데 Swift에서는 Generic이 있습니다. ㅎ Generic 말그대로 일반화입니다. 동적으로 타입을 정의해주기 때문에 Array, Dictionary 등 collection타입은 주로 Generic으로 만들어 졌습니다. 왜냐 Collection 타입에 Int, String, Float등 다양한 타입이 들어갈 수 있잖아요!! 기본적인 swap 함수도 Generic으로 구현되어 있습니다. 함수뒤에 쓰고 타입으로 제네릭을 쓸 부분에 BLABLA를 써넣으면 됩니다. 제가 하면서 재밌었던 부분 여러 프로토콜들이 있습니다. 예를 들어 여기 a, b파라미터의 값을 swap시켜주는 함수를 만들었습니다. 만약 a, b가 같을 때는 값을 바꿔주지 않으려면 같을 때 == 를 넣어줍..
[iOS] UIView 도큐먼트읽기 UIView의 Document 무한스크롤을 구현 하려다가 bounds와 frame을 정리하려다.. UIView 도큐먼트를 내가 자세히 본적이 있었나? 라는 자기 물음에.. 이번 기회에 해석 해 보고자 글을 씁니다 ㅎ (해석은 파파고와 제 두뇌의 합작입니다.) UIView는 화면의 사각형 영역의 content를 관리하는 object입니다. ㅎ 개요 View는 앱의 유저페이스의 기본 구성 요소입니다. 그리고 UIView class 는 모든 Views들의 기본 동작을 정의합니다. View 객체는 bounds안의 content를 만들고 content 안의 상호작용을 다룹니다. 흔히 사용하는 UILabel, UIImage, UIButton 등은 UIView를 상속 받는 하위 클래스입니다. 이러한 View는 사용자..