
Collection View에서 cell의 section을 검색하여 검색한 내용을 필터링해서 보여주는 기능을 만들어보자. Search Collection View 이 프로젝트에서는 storyboard를 사용하지 않고 만들었다. storyboard를 사용하지 않고 코드로 작성하는 방법은 아래의 링크에 정리해뒀다. 2023.11.05 - [스위프트] - [swift] storyboard없이 Navigation controller 또한 autolayout을 쉽게 구현하도록 하는 Snapkit 라이브러리를 사용하였다. CocoaPod을 이용해 Snapkit 라이브러리를 설치해야 한다. [swift] CocoaPod 설치와 사용법 iOS 및 macOS 애플리케이션에서 사용할 수 있는 라이브러리 및 코드 모듈을 공..

storyboard 없이 오로지 코드만 작성하여 Navigation controller를 사용해 보자. 처음 프로젝트 생성 시 만들어지는 Main.storyboard를 과감히 지워버려도 된다 ㅎ Navigation controller 다음과 같이 첫 화면에서 두 번째 화면으로 넘어가고 첫 화면으로 돌아올 수 있는 Navigation controller를 만들어보자. ViewController SecondViewController 1️⃣ ViewController import UIKit class ViewController: UIViewController { let label = UILabel() let button = UIButton() override func viewDidLoad() { super.v..

백준 문제를 풀다가 유니온 파인드라는 알고리즘을 고맙게도 알게 되었다. 1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net Union-Find 두 노드가 서로 같은 그래프에 속하는 지 판단 Disjoint-Set / 서로소 집합 알고리즘이라고도 불린다. 주로 그래프 이론과 연결 요소 찾는 데 활용 Union-Find는 다음 두 연산을 지원한다. Find() : 특정 원소가 속한 집합을 찾는다. 즉, 어떤 원소가 어떤 집합에 속해 있는 지를 확인하는 연산 Union() : 두 ..

1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net 집합의 표현 문제 초기에 n+1개의 집합 {0},{1},{2},…,{n}이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작성하시오. 입력 첫째 줄에 n, m이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 a가 포함되어 있는 집합과, b..

22871번: 징검다리 건너기 (large) $N$개의 돌이 일렬로 나열 되어 있다. $N$개의 돌에는 왼쪽부터 차례대로 수 $A_{1} A_{2} ... A_{i} ... A_{N}$로 부여되어 있다. 가장 왼쪽에 있는 돌에서 출발하여 가장 오른쪽에 있는 돌로 건너가려고 www.acmicpc.net 징검다리 건너기 (large) 문제 N개의 돌이 일렬로 나열 되어 있다. N개의 돌에는 왼쪽부터 차례대로 수 A_1 A_2 A_3 ... A_i .. A_N로 부여되어 있다. 가장 왼쪽에 있는 돌에서 출발하여 가장 오른쪽에 있는 돌로 건너가려고 한다. 항상 오른쪽으로만 이동할 수 있다. i번째 돌에서 j(i Int{ if i==N-1{ return 0 } for j in stride(from: i+1, to..

swift uikit의 대표적인 패턴인 MVC 패턴에 대해 알아보자. ✏️ MVC 패턴이란? : MVC패턴은 Model + View + Controller 구조의 아키텍처 패턴을 말한다. 1️⃣ Model :Model은 UI와 직접적으로 연결되지 않는다. data를 어떻게 관리할지가 중요하지, 이 data가 UI에서 어떻게 보일지는 신경쓰지 않아도 된다는 것이다. 데이터와 관련된 내용 데이터를 관리하는 로직 2️⃣ View : View를 작성할 때는 재사용성이 강조된다. 화면에 들어가는 여러 요소들 중 자주 사용하는 요소는 재활용할 수 있도록 따로 만들어 관리하면 코드가 깔끔해질 것 이다. 사용자에게 보여주는 UI를 담당 상호작용을 Controller 계층으로 전달하는 역할 3️⃣ Controller :..

iOS 및 macOS 애플리케이션에서 사용할 수 있는 라이브러리 및 코드 모듈을 공유하기 위한 패키지 관리 도구이다. CocoaPod 사용법에 대해 배워보자. CocoaPod CocoaPod이란? CocoaPod은 개발에서 사용하는 라이브러리 및 코드 모듈을 공유하기 위한 패키지 관리 도구이다. CocoaPods는 Podfile이라고 불리는 설정 파일을 사용하여 프로젝트의 의존성을 관리하며, 이 파일에 필요한 라이브러리 및 버전 정보를 지정할 수 있다. 그런 다음 CocoaPods 명령을 사용하여 이러한 종속성을 설치하고 관리한다. 이를 통해 다른 개발자가 작성한 코드를 쉽게 가져와 사용할 수 있다. 아래는 CocoaPod 홈페이지에 있는 설명이다. CocoaPods는 Swift 및 Objective-C..
swift로 개발을 하다보면 어떤 코드에서는 self를 쓰지 않아도 되는데 어떤 코드에서는 사용하지 않아 오류가 난다. 이런 경험으로 self에 대해 제대로 알아보고자 한다. self란? 'self'는 현재 인스턴스를 나타내는 키워드이다. swift에서 인스턴스 내부에서 사용되며, 주로 프로퍼티나 인스턴스 변수를 구분하는데 사용된다. 이를 통해 swift는 프로퍼티와 인스턴스 변수의 이름이 같을 때 구분하고, 어떤 것을 참조해야 하는지 알 수 있다. self 사용 사례 1️⃣ 프로퍼티와 인스턴스 변수의 이름이 같을 때 swift 클래스나 구조체 내에서 프로퍼티와 인스턴스 변수의 이름이 동일한 경우, 'self'를 사용해 구분한다. 이렇게 하면 swift는 현재 인스턴스의 프로퍼티임을 인식하고, 명시적으로..