iOS 24

[iOS] Bounds와 Frame의 차이점

UIView의 Instance Property 중 Frame 과 Bounds가 있는데 이 두개의 차이점에 대해서 알아보겠습니다. Frame https://developer.apple.com/documentation/uikit/uiview/1622621-frame frame - UIView | Apple Developer Documentation The frame rectangle, which describes the view’s location and size in its superview’s coordinate system. developer.apple.com SuperView의 좌표를 기준으로 View의 위치와 크기를 나타낸다. x, y 좌표를 변경하게 되면 자기 자신의 위치가 변경된다. Bounds..

iOS 2020.01.03

[iOS] Cocoa Touch, Foundation, UIKit Framework에 대해서

안녕하세요. 이번 글에서는 iOS 애플리케이션 개발환경 토대인 코코아 터치 프레임워크와 그 하위 레벨 프레임워크인 UIKit, Foundation에 대해 알아보려고 합니다. Cocoa Touch Framework https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html Cocoa (Touch) Retired Document Important: This document may not represent best practices for current development. Links to downloads and other resources may no longer be va..

iOS 2020.01.03

iOS앱 TDD로 개발하기 #1

안녕하세요. 크몽에서 iOS앱을 개발중인 gwangyonglee(harry)입니다. 크몽 기술 블로그에서 포스팅했었는데, 개인 블로그에서도 포스팅합니다. 이 글은 TDD를 설명하는 글이 아닌 iOS 앱 TDD 적용기에 대해 작성해보려고 합니다. #1,2로 나누어서 작성할 예정이고, #1에서는 TDD를 적용하게 된 계기와 어떤 식으로 적용하였는지(간단한 예제 포함)에 대해 다뤄보려고 합니다. 그럼 시작하겠습니다. TDD를 적용하게 된 계기 회사에서 프로젝트를 진행할 때 일정 산출들을 하고 계실 텐데 자신이 산출한 일정을 정확히 맞춘 적이 많으신가요? 저는 개발을 진행하면서 생각지도 못한 이슈들이 나올 것을 예상하여 하루 이틀 정도 여유롭게 잡는 편이지만, 그럼에도 불구하고 일정이 딱 맞을 경우도 있고 데드..

iOS 2020.01.03

[iOS] 내비게이션 인터페이스(Navigation Interface)란

# 내비게이션 인터페이스(Navigation Interface)란? iOS에서 내비게이션 인터페이스는 주로 계층적 구조의 화면전환을 위해 사용되는 드릴 다운 인터페이스(drill-down interface)입니다. 드릴 다운 인터페이스란 아래 그림과 같이 각 선택할 수 있는 항목에 대한 세부항목이 존재하는 인터페이스입니다. # 내비게이션 컨트롤러(Navigation Controller) 내비게이션 컨트롤러는 컨테이너 뷰 컨트롤러(container view controller) 내비게이션 스택(navigation stack)을 사용하여 다른 뷰 컨트롤러를 관리합니다. 여기서 내비게이션 스택에 담겨서 콘텐츠를 보여주게 되는 뷰 컨트롤러들을 컨텐트 뷰 컨트롤러(content view controller)라고 ..

iOS 2018.05.22

[iOS] H.I.G(Human Interface Guidelines)란?

# H.I.G(Human Interface Guidelines)란? H.I.G 문서는 애플리케이션을 개발할 때 필요한 디자인과 동작을 포함한 여러 규칙을 통하여 사용자 인터페이스를 어떻게 구성하는 방법에 대한 지침을 제시합니다. H.I.G 문서의 가이드라인을 따라 인터페이스를 작성하면 사용자들로 하여금 새로운 애플리케이션을 처음 접하더라도 대부분의 iOS 사용자에게 익숙한 환경을 제공할 수 있습니다. 좋은 인터페이스를 사용자에게 제공하는 것은 애플리케이션의 사용자를 더 많이 끌어들일 수 있는 하나의 포인트가 될 수 있습니다. # 왜 H.I.G 문서를 하는가애플리케이션을 설계할 때 사용자와 상호작용에 관해 생각하고 설계할 수 있습니다.개발자가 아닌 사용자의 입장에서 애플리케이션을 바라보고 설계할 수 있습니..

iOS 2018.05.21

[iOS] Foundation이란?

# Foundation 프레임워크 코코아 터치 프레임워크에 포함된 Foundation은 원시 데이터 타입 String, Int, Double, 컬렉션 타입 Array, Dictionary, Set 및 운영체제 서비스를 사용해 애플리케이션의 기본적인 기능을 관리하는 프레임워크입니다. - Foundation 프레임워크는 데이터 타입, 날짜 및 시간 계산, 필터 및 정렬, 네트워킹 등의 기본 기능을 제공 - Foundation 프레임워크에서 정의한 클래스, 프로토콜 및 데이터 타입은 iOS뿐만 아니라 macOS, watchOS, tvOS 등 모든 애플 SDK에서 사용됨. Foundation에서 제공하는 데이터 타입 및 컬렉션 타입의 대부분은 Objective-C 언어의 기능에서 지원하지 않는 것이기 때문에 언..

iOS 2018.05.04

[iOS] 셀렉터(Selector)란

# 셀렉터(Selector) - 함수를 직접 지정하는 기능을 가진 일종의 함수 선택자 Selector는 본래 Objecive-C에서 클래스 메소드의 이름을 가르키는 데 사용되는 참조 타입입니다.동적 호출 등의 목적으로 @selector() 어트리뷰트 메소드 이름을 인자값으로 넣어 전달하면 이를 내부적으로 정수값으로 매핑해서 처리하는 형태입니다. 이것이 Swift로 넘어오면서 구조체 형식으로 정의되고, #selector()구문을 사용하여 해당 타입의 값을 생성할 수 있게 되었습니다. Swift4부터는 Selector 타입으로 전달할 메소드를 작성할 때 반드시 @objc 어트리뷰트를 붙여주어야 합니다. 이는 Objective-C와의 호환성을 위한 것으로, Swift에서 정의한 메소드를 Objective-C에..

iOS 2018.05.02

[iOS] CocoaPods이란

# CocoaPods이란 코코아팟(CocoaPods)은 코코아 프로젝트에 대한 의존성 패키지를 관리하는 도구 중 하나입니다.쉽게 말해 애플 코코아 개발 환경에서 진행되는 애플리케이션 프로젝트에 필요한 외부 라이브러리를 간단하게 설치할 수 있도록 도와주는 유틸입니다. # CocoaPods 설치 명령어 -> sudo gem install cocoapods (gem : 코코아팟은 루비로 만들어진 프로그램입니다. 루비용 패키지 관리 도구인 gem을 이용해서 설치하는 것입니다.) 참고 : 꼼꼼한 재은씨의 스위프트 실전편잘못된 부분 있으면 댓글 달아주세요!

iOS 2018.04.30