목록개린이 (33)
BOID
안녕하세요 HooniOS입니다 :) 이번에는 앱을 사용할 때 기초이면서 꼭 필요한 부분에 대해 공부해보겠습니다. 기초이면서 꼭필요하고 중요한 부분이 뭐가 있을까요? 바로 화면전환 입니다!!!!!!!!!! 왜 꼭 필요하고 중요할까요? 그 이유는 앱에서는 단일 화면으로 구성된 앱을 보신 적이 있으신 적이 있으신지 모르겠지만, 거의 없습니다. (저는 아예 없어요....ㅎ) 화면 전환의 중요성 - 특히 콘텐츠를 제공하는 앱일 경우 목록 화면과 내용을 보여주는 화면 등 최소한 두 개 이상의 화면이 필요합니다 - 화면을 나누어 줘야 되는데 하나로 무리하게 표현하려고 하거나 한 화면에 표현할 수 있는 데도 무리하게 나누면 사용자가 불편하게 느끼기 때문에 화면을 나눌 때는 주의를 해야 합니다. iOS에서 화면 전환 방..
안녕하세요 HoonIOS입니다 :) 스위프트 버전 2.0을 발표하면서 스위프트는 프로토콜 지향 언어라고 말을 했는데요 그럼 프로토콜 지향 언어는 무엇인지에 대해 알아보겠습니다. 스위프트 표준 라이브러리를 보면 타입과 관련된 소스는 클래스 형태가 아니라 구조체 형태로 되어있는 것을 확인할 수 있습니다. 여기서 많은 분들이 의심을 가질께 구조체 형태면 상속이 되지 않는데 어떻게 그렇게 많은 기능을 구현하지?라는 의문을 가지 실수 있습니다. - 이 해답은 프로토콜. 익스텐션, 제네릭이 있습니다. ( 익스텐션이란? , 제네릭이란? ) 프로토콜이란? - 아직 프로토콜은 포스팅을 하지 않아서 간단히 설명해 보겠습니다. - 프로토콜에 정의한 프로퍼티, 메소드는 필수 정의해야 하는 조건입니다. - 타입마다 해당 프로토..
안녕하세요 HoonIOS입니다 :)오늘은 iOS에서 중요한 기본중의 기본, 기초중의 기초인 인터페이스의 표현 구조인 윈도우, 뷰 뷰컨트롤러에 대해 알아보겠습니다. 윈도우와 뷰-모바일은 데스크톱과 달리 디바이스 스크린에 꽉 들어차는 하나의 화면을 표시할수 있으며, 다른 프로그램이 실행되면, 기존의 화면은 내려가고 그 자신을 새로운 화면이 대신 채우게 됩니다. (안드로이드는 멀티윈도우가 되는걸로 알고있지만 iOS는 한 화면에 두개의 프로그램을 동시에 사용을 못하는것을 생각하시면 됩니다.) 이런 일련의 과정을 구현하는데 윈도우, 뷰를 사용이 됩니다. - 그럼 이제 윈도우와 뷰의 개념에 대해 알아봐야겠죠!윈도우- iOS에서 디바이스의 스크린을 빈틈없이 채우기위한 객체로, 항상 유저 인터페이스 표현계층의 최상위에..
안녕하세요 HoonIOS입니다 :) 저번에는 제네릭의 개념과 제네릭 함수, 타입, 타입 확장에 대해 알아봤는데요, 이번에는 타입 제약 즉 특정 타입에 한정되게 제약을 두는 것과 프로토콜과 서브 스크립트에서 제네릭을 사용하는 것에 대해 알아보겠습니다. 제네릭의 타입 제약 - 앞 포스팅에서는 제네릭 타입 제약을 받지 않는 제네릭 함수를 구현해 보았는데, 만약 특정 타입에서만 한정되어야 할 처리가 있다던가, 제네릭 타입을 특정 프로토콜을 따른느 타입만 사용할 수 있도록 제약을 두어야 하는 상황이 있으면, 이때 타입 제약을 통해서 제약사항을 지정해 줄 수 있습니다. - 타입 제약은 클래스 또는 프로토콜에서만 줄수 있습니다. 이 말은 즉 타입 매개변수 자리에 사용할 실제 타입이 특정 클래스를 상속받는 타입이어야 ..
안녕하세요 HoonIOS입니다 :) 반가워요 이번에는 제네릭에 대해서 알아보겠습니다, 이 부분은 들어본 적은 있지만 개념을 잘몰라 공부를 해봤습니다. 그 내용을 한번 포스팅 해볼려고 합니다 재밌게 읽어주세요 ㅎㅎ 제네릭이란? - 제네릭을 이용해 코드를 구현하면 어떤 타입에도 유연하게 대응할 수 있습니다. 또 제네릭으로 구현한 기능과 타입은 재사용하기도 쉽고 코드의 중복을 줄일 수 있기 때문에 추상적인 표현이 가능합니다. - 실제로 제네릭은 애플 표준 라이브러리에서도 많이 사용을 합니다. 예를들어, Array, Dictionary, Set 등의 타입은 모두 제네릭 컬렉션입니다. Int, String타입을 요소로 갖는 배열을 만들거나 그 외의 어떤 타입도 배열을 요소로 가질 수 있었던 것은 모두 제네릭 덕분..
안녕하세요 HoonIOS입니다 :) 저번에는 프레임워크, 코코아 터치 프레임워크를 알아봤습니다. 혹시 안 보셨다면 여기를 누르셔서 읽어보고 오시는 걸 추천드립니다 :) 프레임 워크 계층 관계에 대해 - 코코아 프레임워크나 코코아 터치 프레임워크를 구성하는 가장 작은 단위의 프레임워크들은 계층 관계를 이룬다고 합니다. - 우리가 주로 프래그래밍에 사용하는 것은 상위 레벨의 프레임워크들로, 프레임워크에서 상위계층에 해당합니다. 여기서 말하는 상위 계층이란? - 보다 사용자에 가깝고 구체적으로 구현되어 있어서 애플리케이션을 만들때 가장 손쉽게 사용할 수 있는 형태를 말한다, 이런 형태를 구체화되어있다고 표현을 합니다. - 이제 하위계층을 알아보자면 하위계층에 속한 프레임워크는 추상적이면서 하드웨어 쪽에 더 가..
안녕하세요 HoonIOS입니다 :) 이번은 swift의 extensions에 대해 공부를 해봤는데요, 제가 생각한 것보다 훨씬 포괄적이고 제가 모르는 부분이 많아서 포스팅을 했습니다. 그럼 한번 알아보겠습니다. extensions 란? * 애플 공식 문서에서 정의된 extensions - 공식문서에서 보면 새로운 함수적 기능을 class, structure, enumeration, or protocol type에 확장한다는 의미를 지니고 있습니다. - 익스텐션은 스위프트의 강력한 기능 중 하나로 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가할 수 있다. - 스위프트의 익스텐션이 타입에 추가할 수 있는 기능은 다음과 같다. 연산 타입 프로퍼티/ 연산 인스턴스 프로퍼티 타입 메서드/ 인스턴스..
안녕하세요 HoonIOS입니다 :) 오늘은 기본부터 다시 공부하고 있는데 iOS에서 제일 중요한 기본 중의 기본! 프레임워크에 대해 포스팅을 하려고 합니다. 우선 프레임워크의 의미를 알아야 겠죠? 프레임워크란? - 프레임워크의 사전적인 의미는 어떤 것을 이루는 뼈대, 기본 구조를 이야기합니다, 비유를 하자면 건축을 할 때 뼈대, 형태를 의미합니다. - 이것을 iOS의 소프트웨어에서 사용하는 프레임워크는 애플리케이션 제작을 빠르고 편리하게 할 수 있도록 뼈대를 이루는 각종 코드를 제작하여 미리 모아둔거라고 생각하시면 됩니다. - 이렇게 설명하면 어려울 수 있으니 iOS에서 사용하는 대표적인 클래스를 보고 말씀드릴게요, 우선 UIButton, UILabel, UIViewController ... 등이 있는데..