일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- OS
- 정규식
- APNS
- 플로우차트
- swift
- 흐름도
- 정규표현식
- 백준
- ios
- flowchart
- UIViewController
- Git과 Github차이점
- 순서도
- 계산기
- git이란
- JSONSerialization
- xcode
- Regex
- github란
- git
- GitvsGithub
- 깃허브
- git사용법
- 플로우 차트
- flow chart
- 애플
- 스위프트
- 깃
- github
- PushNotification
- Today
- Total
목록분류 전체보기 (30)
Diana의 iOS 개발일기
애플의 OS에는 데스크톱과 노트북을 위한 macOS와 iPhone과 iPad를 위한 IOS가 있습니다. 이 둘은 구조적으로 굉장히 비슷하면서도 차이점을 가지고 있는데 이 점에 유의하며 Apple의 OS 구조에 대해 알아보겠습니다. macOS와 IOS의 구조는 아래와 같이 다섯 계층으로 되어있으며 각각의 계층이 하는 일은 다음과 같습니다. User experience layer 이 계층은 유저가 연산 장치와 상호작용하는 것을 가능하게 해주는 소프트웨어 인터페이스를 정의합니다. macOS의 경우는 마우스, 트랙패드 등을 위해 디자인된 Aqua 유저 인터페이스를 사용하며, IOS는 터치 행위를 위해 디자인된 Springboard 유저 인터페이스를 사용합니다. Application frameworks 해당 레이..
클로저는 스위프트에서 상당히 중요한 내용임에도 불구하고 상당히 어렵고 사용이 난해하기로 유명합니다. 어렵고 난해하다? 저는 오히려 난해하고 또 난해하다 라고 표현하고 싶습니다. 뭔놈의 표현형식이 그리 많은지... 쉬운 것도 물논 아ㄴ... 각설하고 클로저에 대해 알아보도록 하겠습니다. [클로저(Closure)] 스위프트의 클로저는 변수나 상수가 선언된 위치에서 참조(Reference)를 획득(Capture)하고 저장할 수 있습니다. 참조를 획득한다? 이게 무슨말일까요? 다시 말해 클로저는 변수와 상수가 메모리에 있던 없던 간에 자신의 내부에서 변수와 상수 값을 참조(Refer)하고 수정할 수 있다는 의미입니다. 이러한 클로저에는 아래와 같이 세 가지 형태가 있습니다. 전역함수의 형태: 이름이 있으면서 어..
스위프트는 많은 고급 언어들과 같이 객체지향 프로그래밍 패러다임을 채택하고 있습니다. 객체지향 프로그래밍은 은닉화, 캡슐화, 추상화, 다형성, 상속성 의 5가지 특징을 가지고 있는데 이 중 은닉화를 이해하고 편하게 사용하기 위해서는 핵심기능인 접근제어(Access Control)에 대해 알아놓을 필요가 있습니다. [접근제어(Access Control)] 은닉화(Information Hidding)는 코드의 상세내용을 숨김으로써 코드의 불필요한 외부 노출을 막아주는 매우 중요한 기능입니다. 스위프트에서 이러한 중요 기능인 은닉화를 구현하기 위해서는 접근제어를 통해 외부에서의 접근을 제한하여야 하는데 이는 모듈과 소스파일을 기반으로 설계되었습니다. 이때 모듈(Module)은 코드들의 묶음으로 여담이지만 운영..
인스턴스는 메모리와 직접적으로 연관이 있다보니 수 많은 언어들에서 중요하게 다뤄집니다. 스위프트 또한 메서드, 프로퍼티 등을 사용하기 위해서는 인스턴스 생성이 거의 필수로 이루어지고 메모리의 낭비를 막기 위해서는 생성된 인스턴스를 알맞게 소멸시켜줄 수 있어야 합니다. 이번 내용은 이니셜라이저를 통한 인스턴스 생성, 초기화 등을 통한 인스턴스을 다루고 있습니다. [이니셜라이저(Initializer)] 1. 초기화(initialize) 구조체, 클래스 그리고 열거형 등은 생성한 뒤 인스턴스를 사용하기 위해서는 프로퍼티 값들을 초기화 해주어야 합니다. 초기화 방법에는 두가지가 있는데 하나는 저장 프로퍼티 생성과 동시에 초기화를 해주는 방법이고 다른 하나는 아래와 같이 init 키워드를 사용하여 이니셜라이저를 ..
스위프트를 공부하면 자주 보게되는 단어 중 하나가 바로 프로퍼티가 아닐까 싶습니다. 그만큼 프로퍼티에 대해 잘 알아놓아야 스위프트 코드를 이해하기 쉬워지죠. 처음 스위프트를 공부하기 시작했을 때는 프로퍼티 == 변수, 상수 라고 생각하였는데 공부를 함에 따라 프로퍼티에는 다양한 종류가 있고 변수와 상수는 단지 그 중 하나라는 것을 알게되었습니다. [프로퍼티 - Property] 프로퍼티는 크게 세가지 종류로 나눌 수 있습니다. 저장 프로퍼티(Stored Properties) 연산 프로퍼티(Computed Properties) 타입 프로퍼티(Type Properties) 1. 저장 프로퍼티(Stored Properties) 저장 프로퍼티는 클래스 또는 구조체의 인스턴스 변수를 말하며 var과 let의 키워..
구조체와 클래스는 프로그래머가 데이터를 용도에 맞게 묶어 표현하고자 할 때 유용합니다. 함수형 프로그래밍인 스위프트에서는 각각의 함수들은 독립적이며 이를 어떻게 구조화하여 코딩하는지에 따라 프로그램의 퀄리티가 달라지는데 이러한 함수, 메서드 들을 묶어 표현하는 것이 구조체와 클래스이므로 이 둘을 잘 이해하는 것은 꽤나 중요합니다. [구조체 - Structure Type] struct MyTest { //struct 구조체이름 var first: String var second: Int //프로퍼티와 메서드들 } 구조체의 기본 구조는 위와 같이 struct 키워드를 사용하여 정의합니다. 구조체를 생성할 때 프로퍼티들의 초기값을 지정하지 않았다면 선언 시 전달인자로 초기 값을 넘겨주어야 합니다. 글로만 보면..