목록개인공부 (86)
BOID
안녕하세요 HoonIOS입니다 :) 안녕하세요 이번에는 화면 전환에서의 마지막 세그웨이를 이용한 화면 전환에 대해 알아보겠습니다. 세그웨이라고 불리는 객체는 스토리보드에서 사용하는 것으로 뷰 컨트롤러 사이의 연결 관계에 대한 화면 전환을 관리하는 역할을 합니다. 세그웨이를 이용하면 따로 코드로 사용하지 않고 스토리보드로만 화면을 전환할 수 있는 게 특징입니다. - 위 사진은 스토리보드에서 세그웨이를 보여주는 것으로 뷰컨트롤러 사이에 화살표로 되었는 것이 세그웨이라는 객체입니다. 좀 이따가 설명을 드리겠지만 위 모양의 세그웨이는 present(_:animated:) 메소드 역할을 하는 세그웨이입니다. - 세그웨이는 한쪽으로만 통행할 수 있는 일반통행 다리라고 할수 있습니다. 즉, 한쪽으로만 흐르는 단방향 ..
안녕하세요 HoonIOS입니다. :) 저번 포스팅에는 값을 해체(추출)하거나 무시하는 패턴의 종류에 대해 알아봤는데요, 이번 포스팅에는 패턴 매칭을 위한 패턴의 종류에 대해 알아보겠습니다. 표현 패턴은 내용이 길이서 다음 포스팅 때 따로 표현 패턴만 포스팅할게요 ㅎㅎ 패턴 매칭을 위한 패턴 종류 - 열거형 케이스 패턴, 옵셔널 패턴, 표현 패턴, 타입캐스팅 패턴 열거형 케이스 패턴이란? - 열거형 타입은 case 조건과 매치시킵니다. - 이 패턴은 switch 구문의 case레이블과 if,while, guard, for-in 구문의 case조건에서 볼 수 있습니다. - 연관값이 있는 열거형 케이스와 매치하려고 한다면 열거형 케이스 패턴에는 반드시 튜플 패턴이 함께 해야 합니다. 연관 값은 각 하나의 타입..
안녕하세요 HoonIOS입니다. :) 이번에는 패턴에 대해 포스팅 하려고 하는데요, 스위프트 내에서는 다양한 패턴이 있습니다. 패턴을 사용하는 이유는 이를 잘 활용하면 스위프트의 코드 양을 줄이는 효과를 나타낼수도 있고 스위프트의 문법을 좀더 효율적으로 활용할수 있습니다. 패턴이란? 이러이러한것을 표현하고 싶다면, '이러이러한 패턴을 통해 표현하면됩니다.' 라고 이해를 하면 됩니다. 대부분의 패턴은 switch, guard, if, for등의 키워드와 아주 친하고 2개 이상의 키워드가 합을 이루어 동작을 합니다. 위 키워드중에서 switch구문에서 가장 강력하게 발생합니다.( 후에 예제를 통해 설명을 할테니 그냥 그렇구나 하고 넘어가셔도 됩니다.) 패턴의 종류는? 값을 해체(추출)하거나 무시하는 패턴 -..
안녕하세요 HoonIOS입니다 :) 이번에는 저번 시간에 이어서 P문제와 NP 문제, NP-난해 문제에 대해 알아보겠습니다. P문제란? 우리가 정의하는 문제의 어려움은 우리가 문제를 풀 때의 난이도가 아니라 계산 복잡도 이론에서 문제의 난이도는 해당 문제를 해결하는 빠른 알고리즘이 있느냐를 나타내는 것입니다. 여기서 빠른 알고리즘이 있는 문제는 계산적으로 쉽고, 빠른 알고리즘이 없는 문제는 계산적으로 어렵다고 합니다. 이 말은 즉 알고리즘을 유도하는 과정이 책이 열 권이고 그 구현이 아무리 길어도 수행 시간만 빠르다면 이건 쉬운 문제가 된다는 것을 알 수 있습니다. 그럼 여기서 빠른 알고리즘의 기준이 뭐라고 할 수 있을까요?, 그 기준은 우리는 다항시간 알고리즘이나 그보다 빠른 알고리즘만을 빠르다고 할수..
안녕하세요 HoonIOS입니다 :) 저번 시간에 뷰끼리 화면 전환 뷰 컨트롤러를 통한 화면 전환을 알아봤습니다. 이번 시간에는 내비게이션 컨트롤러를 이용한 화면 전환에 대해 알아보겠습니다. 내비게이션 컨트롤러의 정의 및 특징 - 뷰컨트롤러의 특별한 종류로, 계층적인 성격을 띠는 콘텐츠 구조를 관리하기 위한 컨트롤러입니다. - 뷰컨트롤러의 전환을 직접 컨트롤하고, 앱의 내비게이션 정보를 표시하는 역할을 할 뿐만 아니라 화면 전환이 발생하는 뷰 컨트롤러들의 포인터를 스택으로 관리하여 원하는 화면에 접근을 쉽게 합니다. * 스택인란? - LIFO(선입후출) 방식으로 제일 나중에 메모리에 들어온 데이터가 제일 먼저 나가는 방식 - 차곡차곡 쌓여지는 방식이라고 생각을 하면 됩니다. - 내비게이션 컨트롤러는 뷰 컨..
안녕하세요 HooniOS입니다 :) 저번 시간에 앱에서 화면 전환의 중요성, 화면 전환의 종류, 화면 전환 시 주의할 점에 대해 알아봤는데요! 혹시 안보고 오셨다면 여기를 클릭해 주셔서 읽고 오시는 걸 추천해 드립니다. 이번 포스팅에는 화면 전환 기법 2가지를 알아보겠습니다. 첫 번째는 뷰를 이용한 화면 전환, 두 번째는 뷰 컨트롤러 직접 호출에 의한 화면 전환에 대해 알아보겠습니다. 화면 전환 기법 첫번째: 뷰를 이용한 화면 전환 - 하나의 뷰 컨트롤러 안에 두 개의 루트 뷰를 준비한 다음 상황에 따라 뷰를 적절하게 교체해주는 방법이다. - 커스텀 세그웨이를 이용해서 뷰만 전환할 수 있다. - 위그림에 서 UIImageView끼리 전환할 수 있는 게 뷰를 이용한 화면 전환입니다. - 뷰를 바꿔치기도 뷰..
안녕하세요 HooniOS입니다 :) 이번에는 앱을 사용할 때 기초이면서 꼭 필요한 부분에 대해 공부해보겠습니다. 기초이면서 꼭필요하고 중요한 부분이 뭐가 있을까요? 바로 화면전환 입니다!!!!!!!!!! 왜 꼭 필요하고 중요할까요? 그 이유는 앱에서는 단일 화면으로 구성된 앱을 보신 적이 있으신 적이 있으신지 모르겠지만, 거의 없습니다. (저는 아예 없어요....ㅎ) 화면 전환의 중요성 - 특히 콘텐츠를 제공하는 앱일 경우 목록 화면과 내용을 보여주는 화면 등 최소한 두 개 이상의 화면이 필요합니다 - 화면을 나누어 줘야 되는데 하나로 무리하게 표현하려고 하거나 한 화면에 표현할 수 있는 데도 무리하게 나누면 사용자가 불편하게 느끼기 때문에 화면을 나눌 때는 주의를 해야 합니다. iOS에서 화면 전환 방..
안녕하세요 HoonIOS입니다 :) 스위프트 버전 2.0을 발표하면서 스위프트는 프로토콜 지향 언어라고 말을 했는데요 그럼 프로토콜 지향 언어는 무엇인지에 대해 알아보겠습니다. 스위프트 표준 라이브러리를 보면 타입과 관련된 소스는 클래스 형태가 아니라 구조체 형태로 되어있는 것을 확인할 수 있습니다. 여기서 많은 분들이 의심을 가질께 구조체 형태면 상속이 되지 않는데 어떻게 그렇게 많은 기능을 구현하지?라는 의문을 가지 실수 있습니다. - 이 해답은 프로토콜. 익스텐션, 제네릭이 있습니다. ( 익스텐션이란? , 제네릭이란? ) 프로토콜이란? - 아직 프로토콜은 포스팅을 하지 않아서 간단히 설명해 보겠습니다. - 프로토콜에 정의한 프로퍼티, 메소드는 필수 정의해야 하는 조건입니다. - 타입마다 해당 프로토..