전체 글 썸네일형 리스트형 [iOS-HIG] Onboarding Onboarding (승선, 오리엔테이션) Onboarding을 통해 새 사용자를 환영하고 다시 돌아오는 사용자와 다시 연결할 수 있다. 빠르고 재미있고 교육적인 경험을 통해 사용자들의 방해가 되지 않고 앱을 최대한 활용할 수 있다. 주로 처음 사용하는 유저에게 앱에 대한 설명을 하는데 쓰인다. Provide onboarding that helps people enjoy your app, not just set it up. Onboarding은 설정을 하는 것이 아닌 단순히 앱을 즐길 수 있또록 도와주는 것이다. 설정 또는 라이센스 세부 정보를 포함하지 않도록 하여야 한다. 자세한 내용은 Launcing을 참조 Launch in the appropriate orientation. 바로 사용자가 들어가서 .. 더보기 [Swift 문법] 연산자와 표현식 스위프트 표현식 가장 기본적인 스위프트 표현식은 var myResult = 1 + 2 와 같은 하나의 연산자와 두 개의 피연산자 그리고 할당자 이다. 피연산자는 앞의 예제에서 사용된 것처럼 실제 숫자 값이 될 수도 있지만, 변수 또는 변수와 상수를 혼합하여 사용될 수 있다. 기본 할당 연산자 var x: Int? // "옵셔널" 정수형 변수 선언 var y = 10 // 정수형 변수 선언ㅇ x = 10 //x에 정수 10 값 할당 x = x! + y // 언래핑한 x 값과 y값의 합을 x에 할당 x = y // y의 값을 x에 할당 연산자의 가장 기본은 = 연산자로 변수형, 값 등 읜쪽의 결과를 오른쪽에 할당하는 방식이다. 산술 연산자 연산자는 크게 두 개의 피연산자를 받는 이항 연산자와 단항 연산자가 .. 더보기 [Swift 문법] 타입 캐스팅과 타입 검사 스위프트 타입 캐스팅과 타입 검사 타입 캐스팅 스위프트 코드를 작성할 때 컴파일러가 어떤 값의 특정 타입을 식별하지 못하는 경우가 발생 한다. 이런 경우에는 메서드나 함수가 반환하는 값이 불명확하거나 예상되지 않는 타입의 값일 때 발생한다. 이럴 때는 as 키워드를 사용하여 의도하는 값의 타입을 알려 줄 수 있으며 이것을 타입 캐스팅(type casting)이라고 한다. 예를 들어 let myVvalue = record.object(forKey: "comment") as! String 이것은 메서드가 반환하는 값을 String 타입으로 처리해야 한다고 컴파일러에게 알려주는 코드다. 타입 캐스팅은 업캐스팅과 다운캐스팅이라는 두가지 형태가 있다. 업캐스팅은 특정 클래스의 객체가 상위 클래스들 중의 하나로 변.. 더보기 [iOS-HIG] Launching Launching 출시 경험은 앱에 대한 사람들의 인식에 큰 영향을 미친다. 사용자가 사용하는 장치나 앱을 마지막으로 연 지 얼마나 되었는지에 관계없이 실행 경험이 빠르고 원활해야 한다. (fast and seamless) seamless (애플이 강조하는 단어,매끄러운..? 부드러운 스무스한 느낌) 아래 링크는 개발자 가이드로 Ui Application Delegate관련 가이드 있다.(앱의 LifeCycle과 관련) https://developer.apple.com/documentation/uikit/app_and_environment/responding_to_the_launch_of_your_app launching은 앱의 lifeCycle과 많은 관련이 있다. Provide a launch scr.. 더보기 [Swift 문법] 옵셔널 타입 스위프트 옵셔널 타입 스위프트 옵셔널 타입은 대부분의 프로그래밍 언어에 없는 개념이다. 옵셔널 타입의 목적은 변수 또는 상수에 값이 할당되지 않는 상황을 처리하기 위해 안전하고 일관된 접근 방식을 제공하기 위함이다. 변수를 선언할 때, 데이터 타입 선언 다음에 '?' 문자를 쓰면 옵셔널하게 된다. var index: Int? Int형의 옵셔널한 변수를 선언하게 되면 정숫값이 할당되거나 아무런 값도 할당되지 않을 수 있다. (정수 or nil) 컴파일러와 런타임의 관점에서 보면 어떤 값도 할당되지 않는 값을 nil로 갖는다. 옵셔널 타입을 쓰는 이유 1. 명시적 표현, nil(흔히 다른 프로그래밍 언어에서는 NULL로도 표현됨)의 가능성을 코드만으로도 명시적 표현 가능하다. 2. 안전한 사용, 전달 받은 .. 더보기 [Swift 문법] 타입 선언과 타입 추론, 튜플 스위프트는 데이터 타입이 안전한 프로그래밍 언어에 속한다. 즉 변수의 데이터 타입이 한번 정해지면 그 변수는 다른 타입의 데이터를 저장하는 데 사용될 수 없으며, 컴파일 에러가 발생하게 된다. 데이터 타입이 느슨한(loosely typed) 프로그래밍 언어는 변수를 선언한 후에 다른 데이터 타입을 저장할 수 있는 언어다. 타입 선언과 타입 추론 상수, 변수의 타입을 지정하는 방법은 두가지가 있다. 1. 변수나 상수를 선언할 때 타입 선언(type annotation)을 사용하는 것이다. 이것은 변수나 상수 이름 뒤에 콜론을 쓰고 타입을 선언하는 것이다. var userCount: Int = 10 2. 선언부에서 타입 선언이 없다면 스위프트 컴파일러는 타입 추론(type inference)이라는 기술을 사.. 더보기 [iOS-HIG] Interface Essentials 대부분의 iOS 앱은 공통 인터페이스 요소를 정의하는 프레임워크인 UIKit을 사용하여 구축한다. UIKit은 앱 시스템 전체에 걸쳐 일관된 모양을 갖추는 동시에 높은 수준의 customization이 가능하다. 하지만 가능한 customization보다는 기존의 UIKit을 활용하여 구성하여야 한다. 그 이유는 iOS가 업데이트 되어서 모양이 변경되었을 때 자동으로 함께 업데이트 된다. (ex 아이폰이 업데이트 되면서 툴바의 사이즈 등 사용자들의 불편함을 해소하는 UI를 자동으로 제공해준다.) 어떤 것들이 있는지 적절한 곳에 쓰는 것이 중요하다. 모든 것을 customization을 하면 오히려 나중에 일이 많아진다. UIKit이 제공하는 인터페이스 요소는 크게 세 가지로 나뉜다. Bars. 앱에서 사.. 더보기 [Swift 문법] 데이터 타입, 상수, 변수 Swift의 문법을 책(핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍)을 통해 공부하면서 내용들을 정리하려 합니다. iOS 8 이전에는 Objective-C가 iOS 애플리케이션 개발을 위한 프로그래밍 언어였지만 애플이 iOS 8을 발표하면서 Objective-C를 대신할 언어로 Swift 프로그래밍 언어를 발표하였다. Swift는 더 쉽고 빠르게 프로그래밍 할 수 있으며, 프로그래머의 오류를 줄여주기 위해 설계된 비교적 새로운 프로그래밍 언어다. iOS, macOS, watchOS 그리고 tvOS용 애플리케이션 개발에 사용되는 스위프트는 기존 언어에 뿌리를 둔 Objective-C와는 다르다. 스위프트 데이터 타입 모든 프로그램의 기본 중의 하나가 데이터이며, 스위프트와 같은 프로그래밍 언.. 더보기 이전 1 ··· 5 6 7 8 9 다음