본문 바로가기

분류 전체보기

(336)
RICOH GR IIIx (리코 GR 3x) 공개, 가격. 서론 코로나가 창궐하기 시작하고, 졸업을 앞두고 있던 2020년 여름. 가정사와 개인사에 잘 풀리지 않는 졸업작품으로 인한 스트레스를 견딜 수 있었던 건 졸업 이후의 행복한 계획들이었다. 여행을 가자! 난 내 곁에 누굴 두기 전 혼자서 서울을 거닐며 맛집을 둘러보고, 혼자서 기다리던 영화를 보고선 아래층에 있던 패밀리 레스토랑에 들러 저녁을 먹고, 혼자서 다니는 게 조금 뻘쭘한 경우도 있었지만 조용하고, 일정에 쫓기지 않는 그런 시간을 보내는 사람이었다. 친구와 소중한 사람과 떠날 수 있는 여행이 물론 재밌겠지만 혼자만의 사색을 마음껏 할 수 있는 건 혼자 떠나는 여행 밖에는 없었다. 작은 가방에 물병 하나, 우산 하나, 작은 카메라 하나 간소하게 들고, 내가 본 것, 생각한 것을 남기고 그런 걸 해 보..
070 ~ 075. Table View, Multi Section, Separator and Table View Cell Table View TableView는 목록을 표시할 때 사용한다. TableView에는 Cell이 존재하고, 위의 화면엔 표시한 것을 포함해 9개의 Cell이 존재한다. Cell의 너비는 TableView의 너비와 같고, 따라서 수평으로 두 개의 Cell을 나란히 배치할 수 없다. 또한 스크롤 방향은 상하로 고정이다. 별도로 가로 스크롤을 설정할 수는 있지만, 해당 기능을 더 간편하게 구현할 수 있는 CollectionView를 더 많이 사용한다. Cell들이 모여있는 그룹을 Sction이라고 한다. TableView는 하나 이상의 Section을 가질 수 있고, 각각의 Section에는 Cell이 포함되지 않을 수 있다. TableView는 Sextion과 Cell을 2차원 배열로 관리한다. 따라서 ..
AliExpress 주문 취소하기. 서론 AliExpress(알리)에선 1111 광군절 같은 큰 할인 외에도, 매월 말이면 카드사와 연계한 꽤나 큰 폭의 할인을 진행한다. 대충 금액 별 할인 쿠폰과 위와 같은 카드사 자동 할인이 겹쳐져 30~40달러 정도의 큰 할인을 받을 수 있다. 그래도 매 할인마다 뭘 사기엔 잔고가 남아나질 않을 테니 급하지 않은 물건들을 장바구니에 잔뜩 담아두고, 금액이 찼을 때 할인 기간을 노려서 구매를 하는 편이다. 이번엔 구입한 것들은 납땜 용품으로, 인두기와 솔더윅 등등의 일체다. 앱가격 기준으로 129달러지만 웹에서 보면 130달러 좀 넘는 금액으로, 최종 결제는 100달러에 맞게 결제를 진행했다. 문제는 모바일로 결제를 진행하다가 코드 입력란을 못 찾아서(다시 보니 결제버튼 위에 있었다.) 웹으로 결제를 ..
104 ~ 108. Structure and Class Structures and Classes (구조체와 클래스) 애플은 많은 형식을 제공하지만 모든 형식을 제공하진 않는다. 따라서 개발자 스스로가 형식을 새로 만들어야 할 필요가 있을 수 있는데, 이때 필요한 것이 구조체와 클래스이다. 열거형까지 포함해 이들을 User defined type 이라고 부르거나 Custom data type이라고 부른다. User Defined Type / Custom Data Type Enumeration Structure Class Programming Paradigm 프로그래밍 언어들은 저마다의 규칙을 가지고 있고, 이를 프로그래밍 패러다임이라고 한다. 현대의 언어들은 여러 패러다임 중 두가지 이상을 구현할 수 있는 mUlti-Paradigm 언어이고, 스위프트도 마찬가..
098 ~ 103. Enumeration (열거형) Enumeration Types (열거형) 연관된 상수들을 하나의 그룹으로 묶은 자료형을 열거형이라고 한다. 이때 열거형에 포함되게 된 상수들은 상수라고 표현하지 않고 Enumeration Case혹은 줄여서 case라고 부른다. 열거형과 열거형에 포함된 케이스는 독립적인 이름을 가진다. 열거형은 코드의 가독성과 안정성을 증가하기 위해 사용한다. 워드 프로세서를 만든다고 가정했을 때 문단 정렬을 위해 다음과 같이 선언한다. 왼쪽 정렬은 0, 가운데 정렬은 1, 오른쪽 정렬은 2이다. let left = 0 let center = 1 let right = 2 var alignment = center1 결과 1 가운데 정렬을 선택했을 때 동작은 정상적으로 가능하지만 결과인 1이 정확히 무엇을 정의하는지 알기..
087 ~ 097. Collections (콜렉션) Collection (컬렉션) Swift는 세 가지의 컬렉션을 제공한다. Array (배열) 데이터를 순서대로 저장한다. Dictionary (딕셔너리) key와 value를 하나의 쌍으로 저장한다. Set (셋/집합) 집합 연산을 수행하는 컬렉션. Foundation Collection과 Swift Collection Swift의 컬렉션 은은 다시 두 가지로 구분되는데, 기존부터 사용되던 Class로 구현된 Foundation Collection과 구조체로 구현된 Swift Collection이다. 일반적으로 말하는 컬렉션은 Swift Collection을 의미한다. 따라서 Swift Collection의 사용 빈도가 많고, 값 형식이 아닌 참조 형식을 사용하고 싶을 때 Foundation Collec..
062 ~ 069. Handling Date Date 날짜를 처리하는 다양한 자료형이 존재한다. Class Strcture NSDate NSCalendar NSDateComponents NSTimeZone NSLocale Date Calendat DateComponents TimeZone Locale 예전엔 클래스로만 제공했지만 현행 코코아터치프레임워크는 구조체로도 제공하고 있다. 또한 이러한 자료형들은 클래스 자료형의 이름에서 NS를 제외한 이름을 가지고 있다. 이 둘은 이름과 구현 방식만 다를 뿐, 사용법과 동작 방식은 동일하거나 유사하고, 대부분의 자료형들이 브릿징을 지원하기때문에 타입캐스팅을 활용해 자유롭게 전환할 수 있다. Date() 결과 "Aug 27, 2021 at 12:47 PM" Date 생성자를 사용하면 위와 같은 날짜를 얻을 ..
053 ~ 061. Software Keyboard, Text Delegate, Input View & Input Accessory View and Password Auto Fill Software Keyboard 캘린더에서 Location을 선택하면 오른쪽의 화면으로 전환됨과 동시에, 키보드를 조작하면 검색 필드에 입력할 수 있게끔 동작한다. 다른 뷰로 포커스를 전환하거나 종료하기 전까지 이벤트를 처리하게 되는데 이를 First Responder라고 부른다. // // FirstResponderViewController.swift // HandlingText // // Created by Martin.Q on 2021/08/24. // import UIKit class FirstResponderViewController: UIViewController { @IBOutlet weak var textField: UITextField! @IBAction func startAction(_..
071 ~ 086. Strings and Character (문자열과 캐릭터) Strings and Character let s = "string" print(type(of: s)) 결과 String let c = "c" print(type(of: c)) 결과 String 자동 지정 방식의 경우 큰 따옴표 사이의 문자 수와는 상관없이 항상 문자열로 판단한다. 따라서 형식지정 방식을 사용해야 character를 저장할 수 있다. let c: Character = "c" print(type(of: c)) 결과 Character 빈 문자열과 빈 문자를 저장하는 방법도 서로 상이하다. let emptyC: Character = " " var emptyS = " " print(emptyS.count) emptyS = "" print(emptyS.count) 결과 1 0 문자는 공백으로 분 ..
043 ~ 052. Label, Text Field, Text View and Text Input Label SingleLine Label 사용하는 씬의 구성은 위와 같다. Label의 속성들은 위와 같다. Text Plain를 선택하면 일반적인 텍스트를 사용한다. Attributed를 선택하면 문자열에 속성을 추가할 수 있다.(Attributed String에서 이어진다) Color 텍스트의 색을 설정한다. Background Color와 비교하기 위해 Foreground Color라고 부르기도 한다. Font 폰트의 크기와 종류, 스타일을 변경할 수 있다. Alignment 텍스트의 정렬 속성이다. 기본값은 Netural인데 언어 설정에 따라 글의 정렬이 달라진다. // // SingleLabelViewController.swift // HandlingText // // Created by Mar..