일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- wil
- 양궁대회
- UIKit
- Reference Cycle
- TableView
- CoreData
- Value Type Reference Type
- Carousel CollectionView
- class struct
- firebase
- 면접을 위한 CS 전공 지식 노트 Tree
- Input Output
- tableview section별 다른 cell적용
- 테이블뷰 나누기
- SWIFT
- 프로그래머스
- NavigationSearchBar
- Array vs Linked List
- TableView Section
- 면접을 위한 CS전공 지식 노트
- 자료구조
- ReferceCycle
- 롤케이크 자르기
- UserDefaults
- @escaping
- 강한 참조 순환
- CarouselCollectionview
- coremotion
- til
- retain cycle
- Today
- Total
목록SWIFT (31)
개발하는 동글 :]

Why? cell을 추가할 때 cell이 바로 나오지 않음 하단의 n개의 메모가 반영되지 않음 TIL 1. 메모가 추가되는 메서드에 아래의 코드를 추가하여 해결 myTableView.reloadData() 2. viewWillAppear에 tool 바를 다시 재정의?를 해줌 override func viewWillAppear(_ animated: Bool) { // 화면이 새롭게 그려질 때마다 호출됨 myTableView.reloadData() self.toolbarItems = makeToolbarItems() } 결과 모습

Why? 아이폰 설정앱을 따라 만들어 보던 중 위쪽 서치바가 특정 상황에 따라 보인다는 것을 발견하였다. 그렇기에 그것을 구현해 보려 SearchBar 가 포함된 cell을 만들어 보기도 하였고, 테이블 뷰 위에 그냥 SearchBar를 추가해보기도 하던 중 간단한 방법을 발견하였다. TIL 스크롤시 보이는 서치바 구현 1. UISearchController 프로퍼티를 만들어 준다. let searchController = UISearchController(searchResultsController: nil) 2. TableView의 내장 함수인 scrollViewDidScroll 메서드를 이용하여 스크롤 값이 변할 때 Navigation의 SearchController를 위에 선언한 프로퍼티로 변경해 ..
Enum(열거형)이란? 관련된 값으로 이루어진 그룹을 공통의 type(형)을 선언해 type-safety를 보장하는 방법으로 코드를 다룰 수 있게 해준다. C나 Objective-C가 Integer(정수형)값들로 열거형을 구성한 것에 반해 Swift에서는 case값이 string, character, integer, floting 값들을 사용할 수 있다. 열거형은 1급 타입(first-class types)*이어서 계산된 프로퍼티(computed properties)를 제공하거나 초기화를 지정하거나, 초기 선언을 확장해 사용할 수 있다. 열거형 문법 (Enumeration Syntax) 다음은 네 가지 방향을 갖는 CompassPoint 열거형 선언의 예시 case를 콤마로 구분해서 한줄에 적을 수 있다..

적용 화면 ViewDidLoad() @IBOutlet weak var myTableView: UITableView! var dataManager = DataManager() override func viewDidLoad() { super.viewDidLoad() myTableView.dataSource = self } 테이블 뷰 속성을 만들어 주고 , datasource를 자신으로 할당해 준다. extension extension ViewController: UITableViewDataSource, UITableViewDelegate{ // Section 갯수 지정 func numberOfSections(in tableView: UITableView) -> Int { return dataManager.s..
분리한 문자열을 압축하는 방식으로 더하기 - 빼기 - 나누기 - 곱하기 순으로 함수가 작동할 수 있도록 구현. 문제 상황 : 문자열을 ["+", "-", "*", "/"] 로 분리하여 음수의 부호를 분리해 버려 음수 계산이 안되는 문제. -> 로직을 문자열이 아닌 다른 방식으로 전달 받으면 해결 할 수 있을거 같음. // // DataManager.swift // CoupangClon // // Created by SeoJunYoung on 2023/02/10. // import UIKit class DataManager { var nowNum: String var numsAry:[Double] = [] var calToggle = true init(nowNum:String){ self.nowNum = ..
구현 목표 - 코드로 UI 구성하기 :완료 - 문자열을 리턴 받아 문자열을 분리하여 배열로 만들어 준 후 연산하는 기능 구현 하기 : 데이터를 문자열로 전달 받아 배열로 분리하는 과정까지 진행 ex) "123+123" -> ["123","+","123"] // // ViewController.swift // fisrtCalcu // // Created by SeoJunYoung on 2023/07/17. // import UIKit class ViewController: UIViewController { var buttonTitle = ["7","8","9","+/-","4","5","6","*","1","2","3","/","0",".","AC","="] var dataManager = DataMana..
CollectionView를 사용하는 순서 UICollectionView 타입의 속성을 하나 생성한다. let slideView: UICollectionView = { let flowLayout = UICollectionViewFlowLayout() flowLayout.itemSize = CGSize(width: 50 , height: 50) flowLayout.sectionInset = UIEdgeInsets(top: 5, left: 10, bottom: 5, right: 10) let collectionView = UICollectionView(frame: .zero, collectionViewLayout: flowLayout) collectionView.translatesAutoresizingMas..
ArraySlice란 ? struct ArraySlice ArraySlice : Array, ContiguousArray 또는 ArraySlice 인스턴스의 slice ArraySlice타입의 특징 더 큰 배열의 section에서 작업을 빠르고 호율적으로 수행 할 수 있다. 슬라이스 요소를 새 저장소로 복사하는 대신, ArraySlice인스턴스는 더 큰 배열의 저장소에 대한 view를 제공 -> COW COW 란? (Copy On Write) 컴퓨터 프로그래밍에서 복사 동작을 할 때,실제 원본이나 복사본이 수정되기 전까지는 복사를 하지 않고 원본 리소스를 공유함 원본이나 복사본에서 수정이 일어날 경우, 그때 복사하는 작업을 함 또한 ArraySlice는 Array와 동일한 인터페이스를 제공하므로, 일반적..
.suffix() 를 사용하면 String.SubSequence라는 타입으로 반환이 된다. 여기서 SubSequence란? typealias SubSequence = Substring 라는 것을 공식문서에서 확인할 수 있다. 즉 SubSequence 는 Substring 타입의 별명이라고 할 수 있다. typealias some1 = Int typealias some2 = Int let num1 : some1 = 10 // num1 은 Int 의 별명 let num2 : some2 = 20 // num2 은 Int 의 별명 let sum : Int sum = num1 + num2 // 30 그리고 Substring은 자신의 원본 문자열을 저장하는 메모리를 그대로 사용한다. 즉, 원본 메모리의 인스턴스를 ..
풀이 1. 재생된 시간만큼 문자열을 만들기 위해 C# 같은 문자를 1로 변환한 후 시간만큼의 길이를 가진 문자열을 만들어 같은 방식으로 변환한 target이 포함되어 있는지 확인 2. 포함되어 있을 때 기존의 resultTime과 현재의 time을 비교하여 더 클 시 result와 resultTime을 변경 코드 func solution(_ m:String, _ musicinfos:[String]) -> String { var target = m.replacingOccurrences(of: "C#", with: "1").replacingOccurrences(of: "D#", with: "2") .replacingOccurrences(of: "F#", with: "3").replacingOccurrence..
풀이 1. 배열의 총합이 n보다 작으면서 info배열과 길이가 같은 모든 상황을 검색한다. -> 재귀함수로 구현 2. 각 상황에서의 어피치와 라이언의 점수를 계산하고 비교한다. 3. 라이언이 이기는 상황에서 점수 차가 기존의 점수보다 높으면 값을 변경하고 같으면 제한조건에 맞으면 변경한다. 4. 라이언이 이기는 상황이 없으면 [-1]을 리턴한다. 코드 오답코드 3번 과정이 없어서 오답 import Foundation func solution(_ n:Int, _ info:[Int]) -> [Int] { var result = [0] func makeScore(_ ary:[Int], _ num:Int){ if ary.count == info.count{ //각 배열의 상황에서 점수를 계산하고 비교한다 if ..