Swift

· iOS
스터디 그룹원 분들과 이야기를 하는 도중에 나온 주제에 대한 고찰을 진행해보고자 한다.문제 상황우선 문제 상황은 아래와 같다.추상화를 해놓고 다시 구체화? 이게 뭔가 이상하다.  프로토콜(혹은 상속으로)로 특정 객체가 프로토콜을 채택하게 하는 목적이 뭔가?달리 해석하면, 추상화를 왜 하는 걸까?아래의 원인이 가장 클 것 같다.코드의 간결성타입 안정성확장성 위와 같은 기대효과 때문에 우리는 객체 간 의존성이 생기는 경우에도 인터페이스를 통해→ 이를 달성하기 위해서 추상화를 통해 런타임 의존성을 가지도록 한다. “개방 폐쇠 원칙을 준수하도록 의존성 전이를 최소화” 하려고 노력한다.  그런데..! 막상 다른 곳에서 타입을 통한 분기처리 등, 여러가지 상황에서 우리는 타입캐스팅을 통해 해당 객체가 어떤 구체 타..
· iOS
시작하기 전..구글링 + 여러 포스팅을 통해 작성된 내용을 저만의 방식으로 해석한 것이라 틀린 부분이 있을 수도 있습니다.언제든 댓글로 의견, 조언 환영입니다~!지난 시간에..의존성 주입의 정의를 이야기하며프로그램 디자인이 결합도를 느슨하게 되도록하고 의존관계 역전 원칙과 단일 책임 원칙을 따르도록 클라이언트의 생성에 대한 의존성을 클라이언트의 행위로부터 분리하는 것 이를 4가지로 분리해서 보는 것으로 글을 마무리 했었다.정리하자면결합도를 느슨하게 되도록의존관계 역전 원칙단일 책임 원칙클라이언트의 생성에 대한 의존성을클라이언트의 행위로부터 분리하는 것. 이것이 의존성 주입의 메인 키워드였다.Intro오늘 알아볼 내용은 아래와 같다.의존관계 역전 원칙?단일 책임 원칙?의존성 주입에 대한 방법?위 3가지에 ..
· iOS
의존성?INtro...네이버 부스트캠프 그룹분들이랑 이야기를 하는 과정에서의존성 주입과 관련된 이야기가 나왔다. 사실 개발을 깊이 공부해본 적도 없고, 컴퓨터공학과를 다니면서 많은 수업을 들은 것도 아니었기 때문에, 무슨 말이지? 라는 생각만 하게 된 것 같다. 의존성이란 말은 객체지향에 대해 입문을 하게 되면서 반드시 듣는 용어인 것 같다. 네부캠 수업에서도 그렇고, 그룹원들의 지식에 따라가보기 위해 이에 대한 내용을 학습해보고자 한다..!시작하기 앞서..공부하는 과정에서 작성하는 글이라 두서 없이, 진행될 수도 있습니다.추가로 예시는 맨시티에 관련된 것이 많을 수 있습니다…🌐의존성 주입은 객체에 인스턴스 변수를 주는 것을 의미합니다. 정말입니다. 그게 전부입니다. - 제임스 쇼어 의존성?우선 의존성..
· iOS/UIKit
ViewController날짜: 2024년 8월 21일태그: Swift, UIKit, iOS앱의 생명주기?어떤 앱을 실행 중일 때 전화가 오는 상황을 가정해보자.원래 실행 중이던 앱은..?잠깐 비활성화 상태로게임 중이던 모든 데이터는?저장이 안되서 날아갈 수도 있음앱의 실행(메모리에 올라감)부터 앱이 백그라운드로 / 앱의 종료까지를 포괄적으로 표현하는 개념앱의 실행이 시작되서, 앱이 종료(메모리에서 내려감)되기까지의 주기가 존재[그래서 왜 알아야 함?](상태 변화의) 해당 시점에 호출되는 함수들이 있음예시 ) 앱이 실행중이다가, 다른 앱으로 전환되는 시점에 (특정) 함수가 호출됨게임 데이터 유지… etc 여러 상황에 사용 가능ViewController의 생명주기뷰 컨트롤러에도 생명주기가 존재왜 필요할까?..
· iOS/Swift
About Closure 오늘은 클로저에 대해 알아보도록 하자. 미리보기 클로저 형태 왜 클로저를 사용하지? 여러가지 문법 아래는 나중에 다룰 예정 클로저의 메모리구조 @escaping, @autoclosure 키워드 캡처현상, 캡처리스트 사용 예시 우선 클로저란 무엇일까? 클로저 (Closures) | Swift 클로저 (Closures) | Swift 명명된 함수 생성없이 실행되는 코드 그룹입니다. 클로저 (Closures) 는 코드에서 주변에 전달과 사용할 수 있는 자체 포함된 기능 블럭입니다. Swift의 클로저는 다른 프로그래밍 언어에서 클로저, bbiguduk.gitbook.io 해당 글에 따르면 클로저는 ‘코드에서 주변에 전달과 사용할 수 있는 자체 포함된 기능 블럭’이다. 본격적으로 들어가..
· iOS/Swift
About Class, Struct 미리보기 구조체 클래스 구조체와 클래스의 차이 무엇을 선택해야 하는가? 우선 내용을 정리하기에 앞서, 아래와 같은 사실을 꼭 알아두자 하나의 프로세스 내 존재하는 메모리 모델은 아래와 같다. 코드, 데이터, 힙, 스택은 꼭 기억하자. 또한, 클래스와 구조체는 ‘객체 지향 프로그래밍’ 패러다임을 연 녀석들이다. 흔히 사용하는 비유로 클래스, 구조체는 ‘붕어빵 틀’을 만들어 낸 것과 같다. → 인스턴스를 찍어냈다. 라는 말로도 사용 💡 인스턴스 → 실제로 메모리에 할당되어 구체적 실체를 갖춘 것 (스위프트에서는 클래스의 instance를 특별히 객체(object)라고 부름) 클래스 [클래스의 특징은 다음과 같다] reference type 데이터 영역에 (클래스)틀이 저장..
· iOS/Swift
About Delegate Pattern [오늘은 처음으로 3번 이상 강의를 수강하게 한 ‘델리게이트 패턴’에 대해서 정리하고자 한다.] 보통 앱 View를 구상할 때, 한 화면 내에서 모든 거를 처리한다기 보단, 다른 화면과의 상호 작용을 기반으로 한 화면의 데이터를 수정하거나 여러 화면 간의 통신을 설정하는 것은 일반적이다. 그렇다면 디자인 패턴 중 하나인 ‘Delegate Pattern’은 뭘까? Delegate? delegate을 해석하자면 “대리자” 라는 뜻이다. 이는 entity가 다른 entity에게 task나 책임을 할당할 필요가 있을 때 사용된다. entity? → https://modelinspring.tistory.com/90 해당 블로그 글을 참고하자. 예시를 보면서 한번 알아보도록..
ParkSeongGeun
'Swift' 태그의 글 목록