profile
개발하면서 마주친 문제들을 정리하는 공간입니다.

setNeedsLayout 과 LayoutIfNeeded

layoutSubViews() view의 값을 호출한 즉시 변경시켜주는 메서드 호출되면 해당 View의 모든 SubView들의 layoutSubviews()이 연달아 호출된다 비용이 많이 드는 메서드이고, 때문에 직접 호출하는 것은 지양된다 아래의 경우에서는 자동으로

2023년 12월 6일
·
0개의 댓글
·
post-thumbnail

[RxSwift] 네트워크 통신 여러번 하는 문제 share로 해결하기

API를 활용해 검색기능을 구현하던 중 통신이 2번 되는 현상이 있었다. 셀을 누르면 네트워크 통신을 하도록 구현해놓았는데, 왜인지 통신이 2번 된다. 왜그럴까?위 사진에서 post는 input.itemSelected에 이벤트가 들어오면 fetchSearchResult

2023년 12월 1일
·
0개의 댓글
·
post-thumbnail

어떻게 하면 이미지를 효율적으로 처리를 할 수 있을까? (DownSampling)

다운샘플링을 통해 이미지 효율적으로 처리하기

2023년 11월 22일
·
0개의 댓글
·
post-thumbnail

COW에 관한 고찰

애플이 COW 된다고 했는데..

2023년 11월 9일
·
0개의 댓글
·
post-thumbnail

[RxSwift] Hashable에 관하여

Hashable이 뭔데!

2023년 11월 7일
·
0개의 댓글
·

Alamofire 적용하고 가독성 높이기

오늘은 Alamofire에 대해서 알아보려고 한다. 사실 야곰아카데미에서는 오픈소스, 라이브러리를 사용하기보단 원리를 이해하고 기초를 알길 권장하기 때문에 한번도 사용해본적이 없었다. 근데 Alamofire가 채용공고에 자주 등장하기도 하고 어떤라이브러리인지 궁금해서

2023년 9월 18일
·
0개의 댓글
·
post-thumbnail

Coordinator 패턴 적용기

프로젝트를 구현하면서 코디네이터 패턴에 대해 알게되었다. MVVM구조로 역할분리를 하는데 성공했다고 생각했는데, 확장성과 프로젝트 규모의 증가 등의 측면에서 이점이 있을것같아 하이웨이 인포에 적용해보았다. 사실 코디네이터 패턴 없이도 앱은 잘 작동한다. 다만 몇가지 아

2023년 6월 20일
·
0개의 댓글
·
post-thumbnail

[WWDC] DiffableDataSource

컬렉션뷰의 새로운 Api에 대해 공부한 글

2023년 6월 7일
·
0개의 댓글
·
post-thumbnail

[iOS] HighwayInfo: RxTest로 유닛테스트하기

이번 포스트는 RxSwift 코드 테스트에 대한 이야기 입니다. 앱을 MVVM으로 구성했더니 테스트에 용이한 구조가되었습니다. MVVM 아키텍처의 또 다른 이점은 코드의 테스트 용이성 증가라고 할 수 있는데요, 오늘은 특히 뷰 모델에 대한 단위 테스트를 만든 경험을 공

2023년 6월 1일
·
0개의 댓글
·
post-thumbnail

[iOS] HighwayInfo: 앱 출시기

MVVM + Clean Architecture + RxSwift 도입 프로젝트 소개 MVVM Clean Architecture RxSwift 아키텍처 한눈에 보기 마무리

2023년 5월 26일
·
0개의 댓글
·

메모장 프로젝트 문제해결

contentInset의 bottom을 키보드 높이만큼 올리면 됨키보드 없어질 때는 bottom을 0으로 설정

2022년 2월 10일
·
0개의 댓글
·

특정 화면 세로고정 하기

앱 전체 화면 회전을 설정하는 방법 Project Target에서 설정해주면 Info.plist에 자동으로 반영된다 특정 뷰 컨트롤러를 세로고정 하는 방법 방법1. AppDelegate 사용하기 (비추) application(_:supportedInterfaceO

2021년 12월 13일
·
0개의 댓글
·
post-thumbnail

JSON이란?

When the JSON you use contains a homogeneous array of elements, you add a conformance to the Codable protocol on the individual element's type. To dec

2021년 12월 5일
·
1개의 댓글
·

ARC

✔ ARC 자동으로 메모리를 관리해주는 친구 객체에 대한 참조 카운트를 관리하고 0이 되면 자동으로 메모리를 해제한다 compile time에 실헹한다(run time에 계속 실행되는게 아님) retain cycle에 유의해야 함 ✔ retain, release re

2021년 11월 22일
·
0개의 댓글
·

lldb / 디버깅

‘디버깅’이라는 용어는 여러 다양한 것을 의미할 수 있지만 대부분의 경우 코드에서 버그를 제거하는 것을 의미합니다print문 찍어보기break point 걸어보기컴파일: 코드변환 / 컴퓨터 언어로 변환하는 과정 / low-level 언어로 변환빌드: 실행파일 생성 /

2021년 11월 15일
·
0개의 댓글
·

열거형을 테스트하는 방법

struct Formula { var operands: CalculateItemQueue? var operators: CalculateItemQueue// func result() -> Double {//// }}extension Double: C

2021년 11월 13일
·
0개의 댓글
·

클로져

클로저는 변수나 상수가 선언된 위치에서 참조를 획득하고 저장할 수 있다이를 산수나 변수의 클로징 이라고 한다. 여기에서 착안된 이름이다클로저의 3가지 형태1\. 이름이 있고 어떤 값도 획득하지 않는 전역함수의 형태2\. 이름이 있고 다른 함수 내부의 값을 획득할 수 있

2021년 11월 9일
·
0개의 댓글
·

@objc란?

\*@objc를 붙이는 이유?Swift4부터는 Selector 타입으로 전달할 메소드를 작성할 때 반드시 @objc 어트리뷰트를 붙여주어야 한다. 이는 Objective-C와의 호환성을 위한 것으로, Swift에서 정의한 메소드를 Objective-C에서도 인식할 수

2021년 11월 5일
·
0개의 댓글
·

class 와 struct

SwiftUI에 struct 타입이 많은 이유https://namocom.tistory.com/905

2021년 11월 5일
·
0개의 댓글
·

두번째 내비게이션 컨트롤러는 왜 필요한가?

궁금한점 야곰은 왜 재고수정 뷰컨을 Navigation Controller에 임베드 했을까 왜 재고수정 뷰컨은 Navigation Controller를 가지는가 Navigation Controller 에 Navigation Controller에 임베드된 뷰를 띄웠을때의

2021년 11월 1일
·
0개의 댓글
·