본문 바로가기

분류 전체보기

(345)
007 ~ 013. View & Window (뷰와 윈도우)) 007 ~ 008 강의는 Xcode9 -> Xcode11 마이그레이션 강의로 따로 정리하지 않는다. View & Window Window(윈도우)와 View는 디바이스의 화면과 UI를 출력하고, 이벤트를 처리한다. 모든 앱은 적어도 하나 이상의 윈도우를 가지고, 외부 디스플레이가 연결되면 두 개의 윈도우를 가진다. Window 터치 이벤트를 올바른 대상에 전달한다. 화면에 표시되는 뷰의 Controller 역할을 수행한다. interface builder를 사용하면 대부분의 과정이 자동으로 진행되지만, 그 외의 방식으로 구성하는 경우 윈도우를 직접 생성하고, 뷰를 직접 추가해야 한다. 새로운 화면으로 전환하는 경우, 윈도우에 추가되어있는 뷰를 다른 뷰로 대체하는 방식으로 진행한다. View 앱에서 시각적..
020 ~ 031. Operator (연산자) + 실습 기본 Syntax A + B A와 B는 Operend (피연산자) +는 Operend (연산자) 구분 +A A + B A + B : C 단항연산자 이항연산자 삼항연산자 조건연산자 //단항연산자는 공백 없이 붙여 쓴다. //⭕️ +A //❌ + A //이항연산자는 공백을 사용해 띄어 쓴다. //⭕️ A + B //❌ A+B //연산자 형식에 따른 명칭 //prefix Operator +A //postfix Operator A+ //infix Operator A + B 기본적으로 곱과 나눗셈을 덧셈과 뺄셈보다 우선 수행한다. Arithmetic Operator (산술 연산자) Addiction (덧셈) Syntax A + B Subtraction (뺄셈) Syntax A - B Multiple (곱셈) Sy..
001 ~ 006. Interface Builder, Outlet and Action, Delegate Pattern Interface Builder interface 구성 방법 xib File Storyboard 이전에 사용하던 방식. 모든 씬들이 각각의 파일로 구성됨. 씬들 사이의 관계에 시각적인 도움이 없으며, 화면 전환까지도 코드로 구현해야 함. 화면의 로딩 속도와 편집 속도가 빠름, 협업에 조금 더 적합. Storyboard 하나의 파일 내에 여러 씬들이 존재. 씬들 사이의 관계가 시각적인 표현으로 조금 더 직관적이지만, 씬이 늘어나면 속도가 느려짐. SwiftUI Code로 구성 xib File 방식과 Storyboard는 interfaceBuilder에서 작성한다. Interface Builder & Xcode Outlet and Action Outlet 코드를 통해 속성에 접근할 때 사용하는 연결 방식이다..
012 ~ 019. literal과 datatype Data Type Builtin Data Type integer (정수), floating-point (실수), boolean (참, 거짓), character (문자), string (문자열) 등의 언어에서 미리 제공하는 데이터 타입. Cutom Data Type 그 외의 사용자가 생성해 사용하는 데이터 타입. Memory 0과 1 (2진수)을 저장할 수 있는 반도체. 단위는 Bit부터 YB까지. Bit 0과 1을 저장. Byte Bit * 8 256개의 데이터를 저장(Unsigned : 0 ~ 255, Signed : -128 ~ 127) Data마다 알맞는 메모리 크기가 있다. 예를 들면 Int 자료형은 8Byte의 메모리를 가짐. 표현 범위는 약 -900경 ~ 900경 까지. 이러한 자료형에 일반..
009 ~ 011. 변수와 상수 생성하기, Scope Variable (변수) var variableName = value 변할 수 있는 수. 변수를 만든다 = 변수를 선언한다. Constant (상수) let constantName = value 변수와는 다르게 선언 이후에 변경 불가. TIP 최초엔 상수로 선언하고 필요에 의해 변수로 변경하는 것이 좋다. CamelCase 이름 짓기 UpperCamelCase lowerCamelCase Class Structure Enumeration Extension Protocol variable constant function property parameter method 항상 단어의 첫 문자가 대문자 맨 처음 단어의 첫 문자가 소문자 Scope (선언 범위) //Global Scope func example() ..
025 ~ 027. Dark mode, iPad support and Mac catalyst (다크모드, 아이패드 지원 그리고 맥 카탈리스트) Dark mode 좌측 하단의 Environment Overrides의 Appearance를 통해 시뮬레이터의 다크모드와 라이트모드를 전환할 수 있다. 사진에서와 같이 현재는 다크모드로 전환해도 인터페이스상의 큰 문제는 없다. 이는 앱을 제작 할 때 대부분 기본 컬러들을 사용했기 때문인데, 이 경우 darkmode에 자동으로 대응한다. 단, 셀에서 날짜를 표시하는 레이블들이 기본 색상이 아닌 Custom Color를 사용했는데, 기존에 설정했던 LightGray가 아닌 DarkGrey로 설정하는 경우 다크모드에서 시인성이 매우 안 좋은 것을 확인 할 수 있다. 이렇게 CutomColor를 사용 할 때는 다크모드에 자동으로 대응하지 못하기 때문에 두 가지의 경우를 모두 생각해 적용 할 필요가 있다. 물론,..
022 ~ 024. Memo delete, share and Keyboard Notification (메모 삭제, 공유 그리고 Keyboard Notification) Memo delete (메모 삭제) storyboard 뷰어의 툴바에 버튼을 추가한다. Bar Button은 위와 같이 설정하면, 모양은 쓰레기통으로, 색은 붉은 색으로 바뀐다. Flexible Space Bar Button Item은 위와 같이 버튼과 버튼 사이의 공백을 유동적으로 바꿔준다. 이후 새로 추가한 버튼을 뷰어의 컨트롤러 파일과 Action으로 연결한다. 해당 버튼을 누르면 동작할 시나리오는 삭제 확인 팝업 표시. 확인 버튼과 취소 버튼 표시. 확인 버튼 클릭 시 해당 메모 삭제. 취소 버튼 클릭 시 팝업 닫기. 의 구성이다. 따라서 이전 강의들에서 사용했던 팝업 생성 코드를 그대로 사용한다. // // ViewerViewController.swift // test // // Created ..
001 ~ 008. 기본 용어, 특수문자 Swift Project 생성 시 주의사항 숫자로 시작 불가능 한글 사용 불가능 공백 사용 불가능 경로 문제 발생함 필요시 '_' underscore 사용 일반명사 사용 지양 변수명 충돌, 스토어 등록 불가 가능성 있음 필요시 'my'나 회사 이름을 접두, 접미로 사용하여 해결 용어 설명 token 1 + 2; 위는 4개의 token으로 구성됨 문법적으로 가장 작은 단위. token 사이에 공백을 추가하는 것이 가능하다. space (공백) token을 구분짓는 역할. tab, 줄 바꿈, space 모두 포함 expression (표현식) 실행했을 때 하나의 결과가 나오는(평가 되는) statement (문장) expression이 모여 특정 작업을 수행하는 경우 litteral let x = 7 let..
018 ~ 021. DB, Memo Editing (데이터베이스, 메모 수정) DB (데이터베이스) DB 작성 iOS 앱의 DB는 CoreData를 사용해서 만들어 진다. CoreData는 프로젝트 생성 시에 이미 활성화 해 둔 상태이고, 기본적인 내용 또한 자동으로 추가 된다. 바로 앱 이름의 '.xdatamodeld' 파일이 DB이자 CoreData 파일이다. 해당 파일은 데이터 저장 방식의 설계도 역할을 한다. 좌측 하단의 'Add Entity' 버튼을 툴러 Entity를 생성하고, 컨텐츠와 날짜를 저장 할 Attribute를 각각 생성한다. 최종적으로는 위와 같은 모습이 되어야 하며, Entity의 Attribute Inspector의 'Codegen'이 Class Definition으로 되어 있어야 한다. 이 상태로 빌드를 시도하면 에러가 발생하는데, 임시로 생성해 뒀던 ..
014 ~ 017. Memo Viewer and Data Connection (메모 뷰어, 데이터 연결) 메모 뷰어 위와 같이 새로운 화면이 우측에서 좌측으로 표시되는 걸 Push라고 한다. 또한, 뒤로 가기를 선택했을 때 기존의 화면이 좌측에서 우측으로 사라지고 이전의 화면을 보여주는 것을 Pop이라고 한다. 메모를 선택하면 메모 뷰어를 push 하고, 하단에 toolbar를 추가해 편집과 공유가 가능하도록 한다. 메인 스토리보드에서 라이브러리로 진입해 View Controller를 추가해 새 Scene(씬)을 생성한다. 해당 씬은 메모 뷰어로, 특정 메모를 선택하면 해당 씬으로 전환이 되어야 한다. 따라서 메인 화면의 Cell(셀)과 새 씬은 연결한다. 이후 표시되는 팝업에서 Show를 선택하면 자동으로 Navigation Bar와 뒤로 가기 버튼이 추가된 것을 확인할 수 있다. 이제는 해당 셀에 추가적..