본문 바로가기

iOS

(36)
[iOS] Concurrency Programing(동시성 프로그래밍이란)? # 목차 동시성 및 앱 설계 스레드에서 벗어나기 디스패치 대기열 디스패치 소스 Operation 대기열 비동기식 설계 기법 앱의 예상 동작 정의 실행가능한 작업단위 제외 필욯나 대기열 식별 효율성 향상을 위한 팁 성능향상 동시성 및 기타 기술 스레드를 사용해야하는 경우 # 동시성 프로그래밍이란?(Concurrentcy Programming) 동시성은 동시에 여러 일이 발생하는 개념이다.(멀티 스레드 환경에서여러가지 작업을 도잇에 처리하는 기술) # 왜 동시성 프로그래밍이 만들어졌지? 멀티코어 CPU의 확산과 각 프로세서의 코어 수가 증가할 것이라는 인식으로 스프트웨어 개발자는 이를 활용할 수 있는 새로운 방법이 필요함 -> 과거에는 앱에 동시성을 도입하려면 하나이상의 스레드를 만들었는데 이는 코드를 작성..
[예약] init(frame:), init(coder:)의 차이점 https://velog.io/@inwoodev/iOS-initframe-initcoder
[iOS] AutoLayout 개념 및 종류 톺아보기(feat. StackView Attributes) # 오토레이아웃 공식 RedView.Leading = 1.0 x blueView.trailing + 8.0 BlueView |-8-| RedView A와 B의 상대적 뷰를 나타내는게 핵심이다 redView와 blueView는 item을 나타냄 leading과 trailing은 Attribute를 나타냄 = 은 Relationship을 나타냄 1.0은 multiplier를 나타냄 8.0은 Constant를 나타냄 고로 다시 저 식을 해석하면 => RedView의 leading은 blueView의 trailing과 8만큼 떨어져있다. # 오토레이아웃 프레임 방식과 오토레이아웃 방식이 있다. 프레임방식은 ( x, y ) 어떤 변화가 생겨도 애응할 수 있어 유연하다 그러나 모든 변경사항을 직접 관리해야하기때문에..
[iOS] Accessibility Inspector를 통해 경고 없애기! xcode => Open Developer Tool => Accessibility Inspector 이래 접근해서 실행시킬 수 있다. 먼저 좌측상단에 시뮬레이터로 설정을 해줘야함 ! 우측상단에 Inspector영역이 존재하는데 순서대로 Inspection 영역 / Audit 영역 / Settings 영역이있는데 중간의 Audit인 감사하는 영역을 확인하면 됨 그러면 구현한 앱들에 경고들이 하나둘씩 보일텐데 이를 해결해주면 된다. 경고메세지 우측에 눈표시와 느낌표를 확인하면 힌트를 얻을 수 있다. Button 속 TitleLable의 폰트 사이즈가 Dynamic type에 적용되지 않았다. Label 속 image Font의 사이즈가 Dynamic type에 적용되지 않았다. 재고 표시 Label의 Fon..
[iOS] 앱 향상을 위한 글꼴 선택방법(Dynamic Type) # Dynamic Type 어머니같이 나이드신분들은 점점 시력이 나빠지기떄문에 큰글씨체의 카톡과 문자를 사용하는걸 본적이있다. 이를 적용케해주는것의 특성이 Dynamic Type입니다. 사용자에따라서 다양하게 글꼴을 선택할 수 있도록 지원하는 Font입니다. 텍스트 사이즈는 설정 -> 디스플레이 및 밝기 -> 텍스트 크기에서 바꿀 수 있고 더 큰 사이즈를 원할경우 설정-> 손수윈사용 -> 디스플레이 및 텍스트 크기 -> 더큰 텍스트로 들어가서 설정하면된다. # Dunamic Type지원하기 (기본폰트) Dynamic Type은 독자가 선호하는 텍스트 크기를 선택할 수 있도록 하여 추가적인 유연성을 제공합니다. 다음은 다양한 동적 유형 크기에서 각 텍스트 스타일에 대한 가중치, 크기 및 행간값입니다. HI..
[iOS] TableView에 뉴스제목 뿌리기에 사용된 메서드들 간단하게 공식문서를 훑어보자 # 카테고리 URLSession dataTask(with:completionHandler:) JSONSerialization jsonObject(with:, options:) reloadData() resume() # URLSession 관련된 네트워크 데이터 전송 작업 그룹을 조정하는 개체이다. # dataTask(with:completionHandler:) 메서드 공문 훑기 - 정의 지정한 URL개체를 기반으로 URL의 내용을 검색하는 작업을 만들고, 완료됬을시 핸들러를 호출한다. - Declaration func dataTask(with request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) ->..
[예약] TableView LifeCycle 공부예정 https://i-colours-u.tistory.com/15 TableView Cell - Life Cycle 이해하기! TableView는 재사용큐를 활용해서 메모리를 효율적으로 사용 할 수 있도록 해주는 클래스입니다. 만약 셀을 100개정도 그려야 한다고 하면은 테이블뷰는100개를 당장 그리는게 아니라, 화면에 표기 i-colours-u.tistory.com https://sihyungyou.github.io/iOS-dequeueReusableCell/ iOS) dequeueReusableCellWithIdentifier 과정과 사용이유 테이블뷰, 컬렉션뷰의 셀 재사용에 대해 생각해보자 sihyungyou.github.io
[iOS] JSON개념공부 및 사용해보기(feat. Codable, Decoder, Encoder) # XML JSON YAML - 위는 주는 사람과 받는 사람이 사용하는 공통된 협약된 언어 - 사람도 읽을 수 있으면서 컴퓨터끼리도 읽을 수 있는 공통된 규약 언어 - XML은 를 사용하며 웹에서 많이 사용한다. 필요이상으로 장황하다느 느낌이 잇을 수 있다. - 태그를 두번씩 입력하고 가독성이 좋다고 판단되지않은데 이를 개선하여 나타낼 수 있는게 JSON이다. 그렇다고 XML이 JSON보다 뒷떨어지는건 아니다. 각 장단점이 있는데 XML은 오탈자가 있어도 작동을 잘하지만 JSON엄격해서 이부분에서 에러가 발생한다. 사소한 콤마같은거에 에러가 발생할 수 있음 - YAML은 주석과 상속을 사용해 효율 적으로 작성할 수 있으며 카테고리가 예쁘게 정해져있기때문에 가독성이 좋다. # JSON(JavaScript ..
[iOS] TableView에 뉴스 제목뿌리기(feat. JSON, News API) - [iOS] TableView만드는 두번째 방법(feat. 스토리보드+identifier지정) - [iOS] TableView만드는 첫번째 방법(feat. 임의의 Cell 지정) 위 두 게시글에서 이어지는 작업이다. JSON을 사용하여 News API정보를 JSON으로 변환하여 Foundation데이터로 정보를 추출하여 TableView에 뉴스 title내용을 출력시키는 작업이다. 아래 첨부한 전체코드를 살펴보면 JSON데이터를 Foundation데이터로 변환하여 값을 다룰때 다운캐스팅을 굉장히 많아하는것을 볼 수 있다. 이는 JSON을 다룰 때 흔히 사용되는건지 잘 모르겠지만,,, 코드를 읽는데 많이 복잡했따. 다운캐스팅한걸 또하고 또하니 머리속에 정리가 되질않아 많이 형편없지만 그림으로 그려보았다...
[iOS] TableView만드는 두번째 방법(feat. 스토리보드+identifier지정) 0. 첫번째 방법 대로 구현된 상태에서 몇가지만 수정하면됨 [iOS] TableView만드는 첫번째 방법(feat. 임의의 Cell 지정) [iOS] TableView만드는 첫번째 방법(feat. 임의의 Cell 지정) 1. 스토리보드에 테이블뷰를 생성하고 크기를 정해준다. 2. TableView의 @IBOutlet을 지정해준다. 3. UITableDelegate와 DataSource 프로토콜을 채택해준다. 4. 프로토콜에 준수하는 메서드 두개.. swiftlim.tistory.com 1. TableViewCell을 기존에 만들어놓은 TableView위에 추가한다 2. 값을 넣어줄 label을 TableViewCell위에 추가한다. 3. 중요 TableViewCell의 identifier를 설정한다. 부..