728x90 반응형 전체 글91 [iOS_Swift] NotificationCenter를 이용한 VC간 값 전달 _ 30 안녕하세요! 개발하는 윤기사입니다!! 오늘은 저번 Delegate Pattern을 이용한 VC 사이의 값 전달에 대해서 포스팅해 드렸는데, 이번에는 NotificationCenter를 이용한 값 전달에 대해 포스팅하려고 합니다! NotificationCenter을 이용하면 VC 간의 데이터 전달이 가능하다. Observer가 코드 어딘가에서 서식하며 Notification 발생을 기다리는 개념이라고 생각하시면 됩니다. 즉, 이벤트들의 발생 여부를 Observer를 등록한 객체들에게 Notification을 보내는(POST) 방식으로 사용한다고 생각하시면 됩니다. 자세하게 한 번 알아보도록 하겠습니다!! 😎 Notification이 뭔데요? NotificationCenter를 통해 정보를 저장하기 위한 구.. 2023. 1. 17. [CS_정리] 객체 지향프로그래밍 특징 & 장단점 _ 3 저번 SOLID 객체 지향 설계 5원칙에 이어서 객체 지향프로그래밍의 특징과 장단점에 대해 정리해보려고 합니다. 깔끔 명료하게 정리해 드릴게요! 1. 추상화 : 객체에서 공통의 속성과 행위를 찾아서 타입을 정의하는 과정입니다. 추상화는 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단하게 만드는 것입니다. 예를 들면 "BMW"와 같은 다른 자동차 브랜드가 추가될 수도 있습니다. 이때 추상화로 "Car"를 구현해 놓으면 다른 곳의 코드를 수정할 필요 없이 추가로 만들 부분만 새로 생성해 주면 됩니다! 2. 캡슐화 : 데이터 구조와 데이터를 다루는 방법들을 결합시켜 묶는 것을 뜻합니다. (변수와 함수를 하나로 묶는 것을 뜻함) 낮은 결합도를 유지할 수 있도록 설계하는 것을 뜻합니다. 속성과.. 2023. 1. 16. [CS_정리] SOLID 객체 지향의 5가지 원칙 _ 2 ⭐️ SOLID 객체 지향의 5가지 원칙 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용할 수 있습니다. SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리펙토링 하여 코드 냄새(코드에서 더 심오한 문제를 일으킬 가능성이 있는 코드의 특징)를 제거하기 위해 적용할 수 있는 지침입니다! 즉, 객체 설계에 필요한 5가지 원칙으로써 유지보수가 쉽고, 유연하고, 확장이 쉬운 소프트웨어를 만들기 위한 수단으로 봅니다. 🍎 객체지향 설계과정 요구사항 (제공해야 할 기능)을 찾고 세분화한다. 그리고 그 기능을 알맞은 객체로 할당한다. 기능을 구현하는 데에 필요한 데이터를 객체에 추가한다. 해.. 2023. 1. 15. [iOS_Swift] Delegate Pattern을 이용한 값 전달 _ 29 Delegate Pattern을 통해 특정 기능을 위임하는 것이 가능합니다! 필수적으로 3가지가 필요합니다! 프로토콜 (Protocol) : 대리자가 수신자에게 전달할 내용의 약속(규칙) 수신자 (Receiver) : 대리자가 특정 기능을 수행 후 데이터를 전달받을 대상 대리자 (Delegate) : 데이터를 전달해 줄 대리자 예를 들어 BVC → AVC으로 데이터를 전달해주려고 한다면 대리자는 BVC, 수신자는 AVC이 됩니다. 그리곤 BVC에 delegate를 인스턴스화시켜 주고, 값을 넘겨주는 동작을 설정해 줍니다. 수신자인 AVC에서 BVC.delegate = self로 채택해 주면 됩니다. 그리곤 필수적으로 프로토콜에 작성되어 있는 전달할 내용을 필수적으로 작성해주어야 합니다. 무슨 말인지 한 .. 2023. 1. 14. [CS_정리] 메모리 구조 _ 1 안녕하세요! 개발하는 윤기사입니다. 이제부터 Computer Science에 대해서도 공부를 해야겠다 싶어서 만들었습니다! [CS_정리]!! 앞으로도 열심히 공부해서 게시글 올리겠습니다~^__^ 첫 번째 게시글은 메모리 구조에 관한 내용을 다뤄보려고 합니다!! 메모리의 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 합니다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있습니다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같습니다. 1. 코드(code) 영역 2. 데이터(data) 영역 3. 스택(stack) 영역 4. 힙(heap) 영역 ⭐️ 코드 .. 2023. 1. 13. [iOS_OpenSource] 로딩뷰(LoadingView) 쉽게 만들기 (JGProgressHUD) _ 3 안녕하세요! 개발하는 윤기사입니다. 이번에 소개해드릴 라이브러리는 JGProgressHUD인데요! 이 라이브러리를 이용하면 로딩뷰를 쉽게 만들 수 있습니다! 제가 실제로 출시했던 앱에 사용했었습니다. SearchBar의 Text를 검색했을 때 API 통신을 해서 해당하는 값들을 불러오는 것이었는데, 아무래도 불러와야하는 값이 너무 크면 오래 걸리기도 하고, 앱이 멈춰 보일 수도 있을 겁니다. 그래서 앱 사용자에게 잠깐 기다리라는 의미로 로딩뷰를 표현하고자 했었습니다. 해당 OpenSource가 좋은 이유는 3가지가 있습니다! 자동으로 중앙에 배치해줍니다! 비동기적으로 처리할 때 다른 로딩 뷰에 비해서 오류가 없습니다. 로딩 뷰가 등장하면 다른 뷰들을 클릭하지 못하게 해 줍니다. 1. JGProgressH.. 2023. 1. 12. 이전 1 ··· 4 5 6 7 8 9 10 ··· 16 다음 728x90 반응형