목록2025/01 (22)
大器晩成
중첩타입 (Nested Types)class Person { class SomeType { }}클래스 안에 클래스나, 클래스 안에 구조체를 만들거나, 중첩적으로 만들 수 있는 타입을 중첩타입이라고 합니다. 중첩타입의 장점- 특정 타입에서 필요한 항목에 대해서 중첩으로 내부에서만 사용이 가능하도록 할 수 있습니다.class Day { enum WeekDay{ case mon case tue case wed } var day: WeekDay = .mon}// 타입 내부에 있는 타입var day: Day.WeekDay = Day.WeekDay.monWeekDay는 Day라는 클래스 내부에서만 사용하는 열거형 타입입니다.확장은 기존 클래스, 구조..
확장은 기존 타입에 새로운 서브 스크립트를 추가할 수 있습니다. Apple 공식문서 예제Int 타입에 정수 서브 스크립트를 추가합니다. 이 서브 스크립트[n]는 숫자의 오른쪽부터 [n]에 위치하는 자리의 숫자를 반환합니다. extension Int { subscript(digitIndex: Int) -> Int { var decimalBase = 1 for _ in 0.. 74638129 % 10 ==> 나머지는 5// returns 9746381295[2]// returns 2746381295[8]// returns 7

TableViewCell이나 CollectionVeiwCell을 사용하다 보면 cell을 재사용할 수 있어 효율적으로 관리할 수 있지만, 재사용하는 관점에서 예상치 못한 오류가 발생할 수 있습니다. 더보기import UIKitimport SnapKitfinal class ViewController: UIViewController { private lazy var tableView: UITableView = { let tableView = UITableView() tableView.delegate = self tableView.dataSource = self tableView.register(TableViewCell.self, forCellRe..
스위프트에서 두 개의 셀을 사용하려다가 재사용셀에서 오류가 나서 정리해보려고 합니다. 정리하기 전에 재사용셀을 사용하는 이유는 다음과 같습니다. 셀의 개수가 1개 2개면 크게 상관이 없겠지만, 100개, 1000개가 넘어가면 iOS에서는 모두 메모리 할당을 하게 되면 리소스 낭비가 심할 겁니다. 그렇기 때문에, 현재 화면에 보이는 만큼만 메모리 할당하고 나머지는 스크롤이 발생하면 그때 다시 메모리에 할당해 불필요한 메모리 발생을 막고자 사용하게 되었습니다. 재사용셀은 dequeueReusableCell(withIdentifier:for:)과 dequeueReusableCell(withIdentifier:)로 나누어집니다. 파라미터identifier- 재사용할 셀 객체를 식별하기 위한 문자열입니다. 이..