목록2025/01/05 (7)
大器晩成
확장은 기존 타입에 새로운 서브 스크립트를 추가할 수 있습니다. 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- 재사용할 셀 객체를 식별하기 위한 문자열입니다. 이..

테이블뷰 컨트롤러에서 자주 사용되는 갱신과 삭제에 대해서 정리해보려고 합니다.아래 설명하는 방법을 제외하고도 여러 가지가 있겠지만, 우선적으로 자주 사용하는 것들을 기준으로 정리해 보도록 하겠습니다. 갱신우선 갱신에는 크게 두 가지 방법이 있습니다. 1. 전체를 갱신하는 tableView.reloadData ()2. 특정 셀의 데이터를 다시 로드하는 tableView.reloadRows(at: [IndexPath], with: UITableView.RowAnimation) 전체코드는 아래에서 확인하면 됩니다. 우선 스와이프 기준으로 각각의 기능이 어떻게 실행되는지 확인해 보고 왜 이런 결과가 나오지는 생각해 봅시다. 왼쪽과 오른쪽 스와이프에서 사용된 코드는 아래 코드를 참고해 주길 바라며,우선 동작 ..