본문 바로가기

전체보기133

[오류] 컨트롤러 타이틀이 탭바 타이틀을 잡아먹는 경우 2024. 8. 8.
[오류] No such file or directory 오류내용빌드 시 오류 코드가 안뜨고 아래와 같이 빌드 실패됨  해결방법→ 실기기로 빌드했더니 오류나서 기기 변경해줬더니 해결됨 2024. 8. 5.
[강의노트👩🏻‍💻] 스위프트 아키텍처 - MVC와 MVVM 1.  아키텍처란?사전적 의미로는 건축학, 설계학을 뜻한다개발에서 의미하는 소프트웨어 아키텍처는 개발 프로그램의 구조와 뼈대를 의미한다iOS 에서 가장 기본이 되는 아키텍처 패턴은 MVC와 MVVM이 있다   2.  MVC MVC란 Model - View - Controller 를 앞 글자를 따온 것이다각 담당하는 역할은 아래와 같다Model : 데이터 구조 표현 및 데이터 저장 (ex. 연락처앱의 PhoneBook 구조체)View: UI를 표현하기 위한 요소 (ex. UIButton, UITableView..)Controller : Model과 View의 중재자 역할. Model의 데이터를 View에 표현할 수 있도록 도와주며 사용자가 입력하는 Request를 처리한다 🍎 애플이 추구한 MVC 아키텍.. 2024. 8. 2.
[강의노트👩🏻‍💻] 델리게이트 패턴 (Delegate) 1.  델리게이트 패턴이란?델리게이트 패턴이란 어떠한 객체A 에서 하고싶은 일을 다른 객체B 에게 대신 처리하게 만드는 패턴이다*Delegate: 위임자, 대신 수행하는 사람, 대리자프로토콜 타입으로 지정했기 때문에 클래스 내부를 수정하지 않고 위임자만 교체해 주면 되며 수정에 용이한 구조가 장점이다  2.  사용 방법과 예제1️⃣  바리스타 프로토콜 생성클래스가 채택할 프로토콜(Barista)임을 명시하고 이 프로토콜을 만족하는 클래스는 커피를 만드는 책임(makeCoffee)을 가짐import Foundation//클래스가 채택할 프로토콜임을 명시protocol Barista: AnyObject { func makeCoffee() -> String}   2️⃣  Class 생성커피를 만들 Cof.. 2024. 8. 2.
[강의노트👩🏻‍💻] 프로세스와 스레드 / 동기 비동기 / Dispatch Queue 1.  프로세스와 스레드프로세스와 스레드는 모두 컴퓨터에서 작업을 수행하는 흐름과 단위이다실행 중인 iOS 앱을 프로세스라고 부를 수 있으며, 내부에는 여러개의 스레드가 존재한다   1-1.  프로세스앱은 iOS에 올라온 프로그램이며, iOS 앱을 실행하면 프로세스라고 한다(실행하기 위해 메모리에 올라온 프로그램)*앱을 실행하기 전에는 프로그램이지만 앱을 실행하게 되면 프로세스라고 부른다  1-2.  스레드프로세스 내에서 작업을 수행하는 단위이며, 한 개의 프로세스 내에는 여러개의 스레드가 동시에 작업을 수행할 수 있다크게 메인 스레드와 백 그라운드 스레드로 구분할 수 있고 여러개의 스레드를 가지고 동시에 작업하는 것을 멀티 스레딩이라고 한다  유튜브로 보는 예시프로그램: 앱에 설치된 유튜브 앱프로세스:.. 2024. 8. 1.
[강의노트👩🏻‍💻] Xcode Instruments로 메모리릭 잡아내기 아래 코드는 ClassA와 ClassB가 서로를 순환하여 참조하는 상황이다순환참조는 메모리누수가 발생하는 대표적인 상황으로, 버튼 클릭 시 작동되도록 연출했다  엑스코드 상단 Product → Profile 클릭 시 빌드가 진행되며  독에 Xcode Instruments가 나타나게 된다  상단에 Leaks 부분이 메모리 누수 발생을 알 수 있는 부분이다  앱이 실행된 시간별로 메모리 누수가 발생하는지 확인이 가능하며초록색 체크는 아직 발생하지 않았다는 의미이다  버튼 클릭 시 아래와 같이 빨간색 엑스 표시가 나타나게 되며메모리 누수가 발생한 원인을 아래에서 확인할 수 있다 (ClassA, ClassB)  Leaks 에서 Cycles&Roots 로 변경하면 아래 사진과 같이 서로를 순환참조하는 상황을 확인.. 2024. 7. 30.