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

테이블뷰 컨트롤러에서 자주 사용되는 갱신과 삭제에 대해서 정리해보려고 합니다.아래 설명하는 방법을 제외하고도 여러 가지가 있겠지만, 우선적으로 자주 사용하는 것들을 기준으로 정리해 보도록 하겠습니다. 갱신우선 갱신에는 크게 두 가지 방법이 있습니다. 1. 전체를 갱신하는 tableView.reloadData ()2. 특정 셀의 데이터를 다시 로드하는 tableView.reloadRows(at: [IndexPath], with: UITableView.RowAnimation) 전체코드는 아래에서 확인하면 됩니다. 우선 스와이프 기준으로 각각의 기능이 어떻게 실행되는지 확인해 보고 왜 이런 결과가 나오지는 생각해 봅시다. 왼쪽과 오른쪽 스와이프에서 사용된 코드는 아래 코드를 참고해 주길 바라며,우선 동작 ..
프로퍼티는 저장 여부를 기준으로 저장프로퍼티와 연산 프로퍼티로 나눌 수 있다. 저장프로퍼티입력된 값을 저장하거나 저장된 값을 제공하는 역할을 합니다.상수 및 변수를 사용해서 정의 가능합니다.클래스와 구조체에서는 사용이 가능하지만, 열거형에서는 사용할 수 없습니다.// 클래스에서 저장 프로퍼티//초기화 구문을 작성하고, 그 안에서 초기값 할당//class Uesr { //에러 발생 코드// var name: String // 클래스의 경우 생성자가 없을 경우 선언과 동시에 초기화가 필요//}//#방법1 초기화 구문을 작성하고, 그 안에서 초기값을 할당class User { var name: String init(){ self.name = "" }}//#방법2 프..
Scope 또는 중괄호({ }) - 함수, If, for문 등에 모두 해당변수는 코드에서 선언이 되어야, 그 이하의 코드에서 접근 가능합니다(선언하기 이전에는 접근 불가함) (전역변수는 예외) 상위 스코프(범위)에 선언된 변수와 상수에 접근가능하며, 하위 스코프(범위)에는 접근할 수 없습니다.(동일한 스코프에서 이름이 중복될 수 없지만, 다른 스코프에서는 이름 중복이 가능합니다.가장 인접한 스코프에 있는 변수와 상수에 먼저 접근합니다.코딩에서의 대원칙: 중괄호 내에서 밖의 변수는 접근 가능, 중괄호 밖에서 중괄호 내의 변수는 접근 불가능합니다.잘못된 변수의 선언 위치#1 잘못된 변수의 선언 위치func greeting1() { print("Hello") print(myName) var ..