본문 바로가기

전체 글

(426)
[iOS] Web Browser Project iOS 프로그래밍 README 프로젝트명 Web Browser Project 기능 웹 뷰를 이용해 웹 페이지 보여주기 뒤로가기, 앞으로 가기, 새로고침 기능 마지막 페이지 저장 재실행시 로드 INDEX UI 구성 기능 구현 UserDefaults WKWebView 1.UI 구성 이번 프로젝트가 제공하는 기능은 웹 뷰와 이에 관한 부가적 기능이다. 따라서, 인터페이스에는 View Controller에 웹 뷰를 얹고 각각의 부가적 기능들을 실행할 수 있는 버튼들을 구성하도록 한다. 프로젝트 생성 후 프로젝트 네비게이션 영역에서 Storyboard 로 이동한다. 생성되어 있는 뷰 컨트롤러의 인스턴스를 클릭하여 상단바 -> Editor -> Embed In -> Navigation Controller 를 눌러 ..
[iOS] 배열, 집합, 튜플 자료형 배열, 집합, 튜플 자료형 Index 1. 배열 (Array) 1.1. 배열 아이템 동적 추가 1.2. 범위 연산자를 이용한 인덱스 참조 2. 집합 (Set) 2.1. 집합의 동적 추가 및 삭제 2.2. 집합 연산 3. 튜플 (Tuple) 4. 딕셔너리 (Dict) 4.1. 딕셔너리 선언과 초기화 4.2. 딕셔너리에 동적 원소 추가 및 삭제 5. 총정리 1. 배열 (Array) 배열은 많은 프로그래밍 언어가 공통적으로 제공하는 자료형이다. 스위프트에서 사용하는 배열의 특징을 정리해본다. 배열에 저장할 아이템의 타입에는 제약이 없으나, 하나의 배열에 저장하는 아이템 타입은 모두 같아야한다. 선언 시 배열에 저장할 아이템 타입을 명확히 정의해야한다. 배열의 크기는 동적으로 확장할 수 있다. 스위프트에서 배열..
[iOS] 반복문, 조건문, 제어 전달문 반복문, 조건문, 제어 전달문 Index 1. 반복문 1.1. for ~ in 구문 1.2. while 구문 1.3. repeat~while 구문 2. 조건문 2.1. guard 문 2.2. #available 구문 2.3. switch 구문 3. 제어 전달문 3.1. break 문 3.2. continue 문 프로그램의 흐름을 제어하기 위해서는 실행 흐름을 능동적으로 제어하기 위한 구문을 이용한다. 스위프트에서는 성격에 따라 다음 세가지 종류로 흐름 제어 구문을 분류할 수 있다. 반복문 (Loop Statements) 조건문 (Conditional Statements) 제어 전달문 (Control Transfer Statements) 1. 반복문 반복문은 타 프로그래밍 언어에서 이용하는 반복문과 동일하..
[iOS] 변수와 상수, 자료형, 연산자 변수와 상수, 자료형, 연산자 본 문서에는 Swift의 기본 문법에 대하여 공부하며 정리가 필요한 내용들을 기재한다. Index 1. 변수와 상수 2. Data Type 3. 타입 추론 4. 연산자 1. 변수와 상수 변수 | 상수 : 저장할 메모리 주소값을 이름으로 연결해 놓은 것. 변수와 상수는 값을 저장할 수 있다는 공통점이 있지만 ,상수는 한 번 저장된 값을 다른 값으로 변경할 수 없는 반면 변수는 필요에 따라 저장된 값을 다른 값으로 변경할 수 있다. 따라서, 변수에는 프로그램의 실행에 따라 변하는 값을 저장하고, 상수에는 변하지 않는 값을 저장한다. 상수는 실수로 값이 변경되는 일을 막을 수 있고, 값의 성격이 명확히 분류되므로 관리하기에도 용이하다. 변수와 상수 초기화 방법 변수 선언 : va..
[iOS] Music Player Music Player 이번 문서에서는 부스트코스에서 진행한 1차 강의 '음원 재생기 애플리케이션'을 총 복습하며 내용을 정리한다. 핵심 키워드 Interface Builder UIButton UISlider UILabel UIKit Interface Builder 인터페이스 빌더는 이름 그대로 사용자와 어플리케이션이 접촉하는 인터페이스를 구성하기 위해 도와주는 도구를 의미한다. 인터페이스 빌더의 Object Library 에는 아이폰 또는 애플 앱에서 자주 살펴볼 수 있었던 컴포넌트들이 아래와 같이 존재한다. 위 컴포넌트들을 이용해 scene 을 구성할 수 있으며 각각의 객체들에 접근 또한 가능하며 기능도 정의할 수 있다. 이를 위해서는 IBOutlet 과 IBAction에 대하여 알아야..
[iOS] Target-Action Pattern Target-Action Pattern Target-Action 패턴은 iOS 환경에서 delegate 패턴만큼이나 자주 사용하는 패턴 중 하나다. Target-Action 패턴에서 Target은 Action이 호출될 객체를 의미한다. Action은 특정 이벤트가 발생했을 때 호출할 메서드를 의미한다. 즉, 한 객체를 Target에 연결해두고, 지정 Event 가 발생하면 타겟이 특정한 액션을 취한다. 지정 객체에서 어떤 EVENT가 발생했을 때, 누가 무엇을 수행할지 ( 무엇을 타겟으로 하며 어떠한 액션을 취할지 ) 를 미리 등록해두면 해당 Event가 발생할 때 마다 타겟에게 메시지를 전달해서 액션을 취하게 하는 방법이다. 간단한 예시를 살펴보자. self.datePicker.addTarget(sel..
[iOS] 메모 저장기능 구현 메모저장 기능 구현 네비게이션 컨트롤러를 통해 네비게이션 뷰의 전환을 만들어낸다. 네비게이션 뷰 이전화면으로 전환하기 : pop 모달 뷰 이전화면으로 전환하기 : dismiss Object Library 에서 Bar Button 을 추가하여 오른쪽 상단에 추가한다. 해당 버튼을 클릭하고 Attribute Inspector를 조정하도록 한다. System Item을 Add로 변경하면 위 그림과 같이 + 모양으로 변경이 된다. 그 외 많은 아이템들을 살펴보면 우리가 흔히 핸드폰에서 볼 수 있었던 버튼의 모양들을 살펴볼 수 있다. 이후에 segue를 이용하여 화면 전환을 만들어낸다. + 버튼을 컨트롤 드래그하여 다음 화면(NavigationView Controller)에 드랍해준다. 이때 애니메이션 방식은 m..
[iOS] DateFormatter DateFormatter 이번에는 DateFormatter에 대해 공부하며 이를 활용하여 원하는 포맷으로 날짜를 출력해본다. 현재 날짜는 위와같이 출력되고 있다. 개발자의 입장에서는 어느정도 친숙한 포맷이지만, 일반 사용자 입장에서는 그닥 친화적인 디자인은 아니다. 따라서, UX를 고려한 포맷으로 변경해보자. 날짜를 원하는 포맷으로 출력할때는 DateFormatter 를 사용한다. 공식 문서를 참고해보도록 한다. 공식 문서 내용은 아래 링크를 클릭하면 살펴볼 수 있다. DateFormatter DateFormatter 클래스에 대해 간략하게 살펴보자. DateFormatter는 날짜와 텍스트값 표현간 변화를 도와주는 포매터라고 한다. 원형은 아래와 같다. class DateFormatter : Forma..