Si Jong Tech Blog
close
프로필 배경
프로필 로고

Si Jong Tech Blog

  • 분류 전체보기 (238)
    • ◽️ Programming (238)
      • T I L (90)
      • Swift 문법 (22)
      • UIKit (18)
      • SwiftUI (11)
      • TCA (6)
      • RxSwift (7)
      • iOS (35)
      • 회고 (5)
      • ◽️ Algorithm (32)
      • ◽️ Computer Science (12)
  • 홈
  • 태그
  • 방명록
Delegate 패턴과 Notification 의 차이 및 특징

Delegate 패턴과 Notification 의 차이 및 특징

Delegate 패턴과 Notification 의 차이 및 특징 Delegate패턴 객체 간의 일대일 통신을 가능하게 한다. 한 객체가 다른 객체로 작업을 위임할 수 있도록 대리자를 설정한다. 주로 프로토콜을 사용하여 델리게이트 메서드를 정의하고, 델리게이트 객체는 이를 채택하여 실제 작업을 구현한다. // 프로토콜 정의 protocol DataProviderDelegate: AnyObject { func didReceiveData(_ data: String) } // 데이터를 제공하는 객체 class DataProvider { weak var delegate: DataProviderDelegate? func fetchData() { let data = "Some data fetched from serv..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 29.
  • textsms
UIKit 에서 UI 구성하는 두가지 방법의 장단점 (스토리보드 , 코드)

UIKit 에서 UI 구성하는 두가지 방법의 장단점 (스토리보드 , 코드)

UIKit 에서 UI 구성하는 두가지 방법 (스토리보드 , 코드) UIKit 에서 UI 를 구현하는 방법은 스토리 보드를 사용하는 방법과 코드로 작성하는 방법 두가지가 있다. 각각의 장단점을 알아보자 스토리보드로 UI 구현하기 장점 시각적 편의성 : 스토리보드를 사용하면 시각적으로 UI를 설계할 수 있다. 인터페이스 빌더를 통해 드래그 앤 드롭으로 요소를 배치하고 연결할 수 있어 개발자들이 빠르게 UI를 구현할 수 있다. 디자이너와 협업 용이 : 디자이너와 협업 시 디자이너가 스토리보드를 사용하여 UI를 설계하고 개발자는 그것을 코드로 연결하거나 수정할 수 있다. 시각적 피드백 : 스토리보드를 사용하면 디자인 변경 사항에 대한 미리보기를 쉽게 할 수 있다. 단점 복잡성 관리 어려움 : 스토리 보드의 크기..

  • format_list_bulleted ◽️ Programming/UIKit
  • · 2024. 3. 28.
  • textsms
옵셔널(Optional) 에 대한 정리 🧑🏻‍💻

옵셔널(Optional) 에 대한 정리 🧑🏻‍💻

옵셔널 옵셔널은 Swift 언어의 중요한 기능 중 하나 이다. 옵셔널은 값이 존재할 수도 있고 존재하지 않을 수도 있는 값을 나타낸다. 이를 통해서 nil 값이 발생할 수 있는 상황에서 안전하게 코드를 작성할 수 있다. 옵셔널의 개념 두가지 값이 존재하는 경우 : 변수나 상수에 유효한 값이 할당된 경우를 나타낸다. 값이 존재하지 않는 경우 : 변수나 상수에 nil 이 할당된 경우를 나타낸다. 옵셔널은 ? 기호를 사용하여 선언되며, 예를 들어 Int? , String? 과 같은 형태로 사용된다. 옵셔널 해제(Optional Unwrapping) 옵셔널 변수에 접근하고 실제 값에 접근하기 위해서는 옵셔널 언랩핑이 필요하다. 옵셔널 바인딩(Optional Binding) : 옵셔널 바인딩은 옵셔널 변수에 대해..

  • format_list_bulleted ◽️ Programming/Swift 문법
  • · 2024. 3. 28.
  • textsms
UIViewController 란 무엇일까?

UIViewController 란 무엇일까?

UIViewController iOS 애플리케이션에서 모든 화면은 UIViewController 클래스를 상속받는다. UIViewController는 애플리케이션의 화면을 관리하고 사용자 인터페이스를 제어하는 클래스이다. UIViewController는 iOS 애플리케이션 화면에 대한 중심적인 역할을 하는데 이는 다음과 같다. 화면 관리 : UIViewController 는 애플리케이션의 각 화면을 관리한다. 즉 사용자가 앱에서 이동할 때 마다 화면이 전환되고, 해당 화면의 내용이 표시된다. 뷰 로드 및 관리 : 각 화면은 여러개의 뷰로 구성된다. UIViewController 는 이러한 뷰를 로드하고 관리한다. 뷰가 필요할 때마다 생성하고 필요 없어지면 메모리에서 해제한다. 사용자 상호 작용 처리 : ..

  • format_list_bulleted ◽️ Programming/UIKit
  • · 2024. 3. 28.
  • textsms
ToDoList 만들기 (5) 캘린더 추가

ToDoList 만들기 (5) 캘린더 추가

2024.03.19 - [◽️ Programming/T I L] - ToDoList 앱 만들기 (1) 2024.03.21 - [◽️ Programming/T I L] - ToDoList 앱 만들기 (2) 2024.03.25 - [◽️ Programming/T I L] - ToDoList 앱 만들기 (3) 2024.03.27 - [◽️ Programming/T I L] - ToDoList 앱 만들기 (4) ToDoList 만들기 (5) 캘린더 추가 오늘은 과제에서 요구하는 필수 구현요소를 다 구현한 뒤 마감전까지 완성할 수 있는 기능을 하나 넣는 정도로 마무리 하였다! 그것은 바로 어제 탭바만 추가한 캘린더를 추가한 것이었다. 원래 더 많은 기능을 구현하고 싶었지만 일단 제출을 해야하므로 과제와는 별개로..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 28.
  • textsms
하드웨어 (CS 50 강의)

하드웨어 (CS 50 강의)

하드웨어 하드웨어는 컴퓨터를 물리적으로 구성하는 요소이며, 컴퓨터에 연결되어 추가적인 기능을 수행한다고 합니다. 하드웨어는 다양한 형태와 구성 요소가 있고 소비자들은 다양한 하드웨어의 기능과 차이점을 잘 알수록 필요한 하드웨어를 추가할 수 있을 것이기 때문에 이 강의에 시작인 것 같습니다. 컴퓨터 내의 하드웨어 컴퓨터의 하드웨어는 크게 중앙처리장치, 기억장치, 입출력 장치로 구성되어 있습니다. 중앙처리장치(CPU) 는 프로세서 라고 불리기도 하는데, 입력장치에서 받은 명령을 실제로 처리 합니다. CPU가 1초에 얼마나 많은 연산을 할 수 있는지 속도를 측정하는 단위는 기가 헤르츠(GHz) 입니다. 기억장치는 입력된 명령이나 데이터가 저장되는 공간으로, 주기억장치와 보조기억장치로 나눠집니다. 주기억 장치에..

  • format_list_bulleted ◽️ Programming/◽️ Computer Science
  • · 2024. 3. 27.
  • textsms
ToDoList 앱 만들기 (4)

ToDoList 앱 만들기 (4)

2024.03.19 - [◽️ Programming/T I L] - ToDoList 앱 만들기 (1) 2024.03.21 - [◽️ Programming/T I L] - ToDoList 앱 만들기 (2) 2024.03.25 - [◽️ Programming/T I L] - ToDoList 앱 만들기 (3) ToDoList 앱 만들기 (4) 오늘은 지금까지 해결하지 못하던 문제들을 한번에 해결하는 날이었다. 분명히 구현이 되어야 하는 기능인데 왜 되지 않을까 고민에 빠졌었지만 한가지 실마리가 해결되니 줄줄이 해결 되는 날이었달까.. 오늘은 내가 해결한 내용을 위주로 글을 써볼까 한다. 내가 가지고 있던 문제 새로운 할 일을 추가하면 새로 등록되는 newTodo 의 레이블 값 즉 할일을 적는 부분이 완료 버..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 27.
  • textsms
Delegate Pattern 왜 사용하는 걸까?

Delegate Pattern 왜 사용하는 걸까?

Delegate Pattern 왜 사용하는 걸까? 과제나 강의를 들어도 꼭 나오는 델리게이트 패턴은 정말 많이 쓰이는 것 같지만 정작 왜 사용하는지 모르고 사용하는 것 같은 느낌이 들어 개념을 한번 잡아보려고 한다. Delegate Pattern 이란 객체가 자신의 책임을 다른 객체에게 위임하는 디자인 패턴 테이블뷰는 셀을 탭했을 때 어떤 행동을 할지에 대한 책임을 뷰컨트롤러에게 UITableViewDelegate 를 사용하여 위임한다. 테이블 뷰 외에도 콜렉션뷰 , 텍스트필드 등 많은 UI 요소들이 델리게이트 패턴을 사용해 다른 객체에게 책임을 위임하고 있다. 왜 위임을 하는 걸까? UI요소에서의 Delegate Pattern 셀을 탭하면 테이블 뷰는 탭 이벤트를 받는다. 테이블뷰가 탭 이벤트를 받으면..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 26.
  • textsms
ToDoList 앱 만들기 (3)

ToDoList 앱 만들기 (3)

2024.03.19 - [◽️ Programming/T I L] - ToDoList 앱 만들기 (1) 2024.03.21 - [◽️ Programming/T I L] - ToDoList 앱 만들기 (2) ToDoList 만들기 (3) 오늘은 새로 배운 MVC 패턴, 클래스 간 데이터 이동 등 강의를 통해 배운 내용을 이번 과제에 한번 녹여내보고 싶어 원래 만들었던 ToDoList 를 버리고 새로 다시 만들었다. 다시 만들면서 취소선 만들기 부분이 생각보다 이해가 되지 않는 부분이 있어 다른 분의 블로그를 참고하여 새로 공부를 다시 했다. 취소선 구현 먼저 원래 사용했던 UISwitch 를 토글하여 true/false 를 구한 후 이 값을 활용하여 사용하는 법보다 UIButton 을 사용하여 select..

  • format_list_bulleted ◽️ Programming/T I L
  • · 2024. 3. 25.
  • textsms
문자열 다루기 기본

문자열 다루기 기본

문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. func solution(_ s:String) -> Bool { guard s.count == 4 || s.count == 6 else { return false } for char in s { if !char.isNumber { return false } } return true } 먼저 문자의 길이가 4 혹은 6인 경우의 수를 guard 문을 통해 조건을 만들어 준다 guard s.count == 4 || s.count == 6 else { return false } 문자의 길이 수가 4..

  • format_list_bulleted ◽️ Programming/◽️ Algorithm
  • · 2024. 3. 25.
  • textsms
  • navigate_before
  • 1
  • ···
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • ···
  • 24
  • navigate_next
프로필 로고

Si Jong Tech Blog

전체 카테고리
  • 분류 전체보기 (238)
    • ◽️ Programming (238)
      • T I L (90)
      • Swift 문법 (22)
      • UIKit (18)
      • SwiftUI (11)
      • TCA (6)
      • RxSwift (7)
      • iOS (35)
      • 회고 (5)
      • ◽️ Algorithm (32)
      • ◽️ Computer Science (12)
최근 글
인기 글
최근 댓글
태그
  • #티스토리챌린지
  • #project
  • #IOS
  • #swift
  • #tableView
  • #MVC
  • #TIL
  • #알고리즘
  • #오블완
  • #uikit
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바