분류 전체보기282 [iOS] UITableView 알아보기 - 2 UITableViewDelegate 선택 항목 관리, 섹션의 header 및 footer 구성, 셀 삭제 및 순서 변경, 테이블 뷰에서 다른 작언 수행에 대한 프로토콜 @MainActor protocol UITableViewDelegate 테이블 뷰 delegate 객체는 UITableViewDelegate 프로토콜을 채택한다. 테이블 뷰 delegate는 테이블 뷰의 모양과 동작을 관리하기에 MVC 디자인 패턴 중, Controller와 관련이 있다. delegate는 테이블 뷰의 시각적인 부분 설정, 행의 액션관리, 액세서리 뷰 지원 그리고 테이블 뷰의 개별 행 편집을 도와준다. UITableViewDelegate 프로토콜의 주요 메서드는 다음과 같다. 필수로 구현해야 하는 메서드는 존재하지 않는다... 2021. 12. 6. [iOS] UITableView 알아보기 - 1 단일 열의 행을 사용하여 데이터를 표시하는 View @MainActor class UITableView : UIScrollView iOS의 tableView는 세로 스크롤하는 내용의 행을 하나의 열에 표시한다. 표의 각 행에는 앱 컨텐츠 중 하나가 포함된다. 예를 들어, 연락처 앱은 각 연락처의 이름을 별도의 행에 표시하고 설정 앱의 메인 페이지에는 사용 가능한 설정 그룹이 표시된다. 하나의 긴 행 목록을 표시하도록 테이블을 구성하거나 관련 행을 섹션으로 그룹화하여 내용을 쉽게 탐색하게 할 수 있다. UITableView는 테이블의 기본 모양을 관리하지만 앱은 실제 컨텐츠를 표시하는 셀(UITableView Cell 객체)을 제공한다. 표준 셀 구성은 텍스트와 이미지의 간단한 조합을 나타내지만 원하는 컨.. 2021. 12. 5. [iOS] @IBInspectable, @IBDesignable OverView @IBInspectable과 @IBDesignable을 사용하면 커스텀 뷰를 만들 때 인터페이스 빌더 내에서 라이브로 화면이 어떻게 구성되는지 볼 수 있다. 즉, 빌드를 통해 실행하여 보지 않고 실시간으로 스토리보드상에서 확인할 수 있다. @IBInspectable 코드와 스토리보드의 인스펙터 영역을 연결해 주는 역할을 한다. 즉, 인스펙터 영역에 내가 원하는 Attribute를 추가하고 싶을 때 사용하면 된다. 버튼을 동그란 형태로 만들 수 있는 'isRound' Attribute를 추가해 주는 작업을 해보자. 화면에 위와 같은 '1번' 버튼이 있다. 인스펙터를 통해서 해당 버튼을 원형으로 만들고 싶으면 어떻게 해야 할까? 인스펙터에 isRound Attribute를 추가해보자. 먼저 .. 2021. 12. 5. [iOS] UIStackView UIStackView 오토 레이아웃을 이용해 열 또는 행에 View들의 묶음을 배치할 수 있는 간소화 된 인터페이스 UIStackView 안에 들어있는 View들을 arrangedSubViews라고 한다. 이 subView들은 일정한 규칙에 따라 StackView 안에서 배치된다. 이러한 규칙에는 크게 4가지(axis, alignment, distribution, spacing)가 있다. 이는 스토리보드에 StackView를 생성하고 나면 인스펙터에서 다음과 같이 확인할 수 있다. axis : StackView의 가로, 세로 형태를 설정한다. alignment : StackView안 view들의 Y축 정렬을 설정한다. distribution : StackView안 view들의 X축 정렬을 설정한다. sp.. 2021. 12. 5. [Network] 06. 전송 계층 : 신뢰할 수 있는 데이터 전송하기 전송 계층의 역할 네트워크 계층이 하는 역할이 있는 것처럼 전송 계층도 하는 역할이 있다. 전송 계층의 역할에 대해 알아보자. 전송 계층의 두 가지 역할 라우터의 라우팅 기능을 통해 데이터를 전송하더라도 목적지에 도착하지 못할 수도 있다. OSI 7계층 모델에서 전송 계층은 목적지에 신뢰할 수 있는 데이터를 전달하기 위해 필요하다. 전송 계층에는 오류를 점검하는 기능이 있다. 오류가 발생하면 데이터를 재전송하도록 요청한다. 또한 전송된 데이터의 목적지가 어떤 애플리케이션인지 식별하는 기능도 있다. 연결형 통신과 비연결형 통신 전송 계층의 특징은 신뢰성/정확성과 효율성이다. 신뢰성/정확성 : 데이터를 목적지에 문제없이 전달하는 것 (연결형 통신) 효율성 : 데이터를 빠르고 효율적으로 전달하는 것 (비연결형.. 2021. 12. 4. 3055. 탈출 (Swift, Python) 3055번: 탈출 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제 www.acmicpc.net 풀이 물이 차있는 지역과 고슴도치의 위치를 담기 위해 큐를 두 개 만들었다. 각각의 큐에는 좌표(x, y)와 시간(time) 정보가 들어간다. 처음에 입력을 받으면서 time이 0인 값으로 큐를 담아준다. 고슴도치의 위치에서 bfs 탐색을 하면서 시간 정보를 비교해준다. prev_time 변수를 하나 만들어서 이전의 시간을 담아두고 큐에서 값을 꺼낼때마다 둘을 비교해준다. 만약 둘의 값이 다르다면 물을 확장시키는 flood 함수를 호출한다. 물이 차 있는 지역을 담기 위한 .. 2021. 12. 4. 이전 1 ··· 29 30 31 32 33 34 35 ··· 47 다음