목록iOS (106)
大器晩成
스위프트에서 두 개의 셀을 사용하려다가 재사용셀에서 오류가 나서 정리해보려고 합니다. 정리하기 전에 재사용셀을 사용하는 이유는 다음과 같습니다. 셀의 개수가 1개 2개면 크게 상관이 없겠지만, 100개, 1000개가 넘어가면 iOS에서는 모두 메모리 할당을 하게 되면 리소스 낭비가 심할 겁니다. 그렇기 때문에, 현재 화면에 보이는 만큼만 메모리 할당하고 나머지는 스크롤이 발생하면 그때 다시 메모리에 할당해 불필요한 메모리 발생을 막고자 사용하게 되었습니다. 재사용셀은 dequeueReusableCell(withIdentifier:for:)과 dequeueReusableCell(withIdentifier:)로 나누어집니다. 파라미터identifier- 재사용할 셀 객체를 식별하기 위한 문자열입니다. 이..

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

StackView는 기기의 방향, 화면의 크기, 사용 가능한 공간의 변경에 동적으로 적응할 수 있는 인터페이스를 생성합니다.스택뷰의 축(axis), 분배(distribution), 정렬(alignment), 간격(spacing) 및 기타 속성에 따라 다양합니다.스택뷰의 Layout은 무조건 지정해주어야 하며, 그 내부의 콘텐츠들의 사이즈까지 조정하려면 사이즈도 지정해주어야 합니다. Axis(축) axis = .Horizontal(가로방향)인 가로축 스택뷰인 경우첫 번째 뷰의 왼쪽 Edge == StackView의 왼쪽 Edge마지막 뷰의 오른쪽 Edge == StackView의 오른쪽 Edgeaxis = .Vertical(세로방향)인 세로축 스택뷰인 경우첫 번째 뷰의 Top Edge == StackV..

이번에는 위에 화면을 구성해 보는 코드를 작성해보려고 합니다.우선 간단하게 스토리보드로도 작성이 가능하여 구성해 보도록 하겠습니다. 스토리보드에서도 비슷한 형태로 구성할 수 있습니다.스토리보드에서 구현할 때에는 static 셀을 사용했습니다. [Dynamic Cell]다이나믹 셀을 사용할 경우 아래처럼 enum과 함께 쓰면 조금 더 간편하게 코드를 작성할 수 있습니다.또한 두번째 섹션은 커스텀셀을 만들어야 해서 현재는 제외했습니다.import UIKitclass TableViewController: UITableViewController { enum Concentrated: CaseIterable { case first case second case ..