hsleedevelop
hsleedevelop
hsleedevelop
  • 분류 전체보기 (25)
    • Develop (25)
      • CS (1)
      • iOS (7)
      • Swift (14)
      • SwiftUI (0)
      • Flutter (1)
      • React (1)

최근 글

인기 글

태그

  • Xcode 정의
  • Xcode 14 빌드 속도 올리는 방법
  • 시뮬레이터
  • next-auth
  • Xcode Definition
  • GoRoute 분기
  • Simulator
  • GoRoute Popup
  • builtInWideAngleCamera
  • xcode 팁
  • GoRouter
  • html
  • GoRoute Modal
  • Xcode 베젤
  • enum 연동하는 방법
  • excldue
  • CLIENT_FETCH_ERROR
  • xcode 꿀팁
  • GoRoute Nav
  • addPostFrameCallback
  • Swift
  • XIB Inspectable
  • Jump to definition
  • architecturel
  • 스위프트
  • Link
  • Xcode 빌드
  • iOS QRCode
  • Xcode
  • Xcode 정의로 이동하지 않고 우측 에디터에서 보는 방법

최근 댓글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
hsleedevelop

hsleedevelop

Swift Basics 1부
Develop/Swift

Swift Basics 1부

2022. 5. 6. 19:24
반응형

2016년 부터 Swift로 개발해 오고 있지만 Basics부터 차근차근 핵심 내용과
추가적인 코멘트와 정보를 덧붙여 정리해보려고 한다.

Swift 특징

스위프트는 iOS, macOS, watchOS, tvOS 앱 개발을 위한 개발언어

스위프트는 정수의 경우 Int,
부동소수점 값의 경우 Double and Float,
부울 값의 경우 Bool,
텍스트 데이터의 경우 String을 포함하여,
Collection 타입의 세 가지 기본 유형인 Array, Set 및 Dictionary를 제공합니다.
그 외 Tuple 등 오브젝티브-C에서 찾아볼 수 없는 고급 타입을 제공한다.

Swift는 Type Safe한 언어이며, 코드가 사용할 수 있는 유형을 명확하게하는 데 도움이됩니다.

Type Safe한 언어의 장점은 컴파일 타임과 런 타임에서 안정성과 퍼포먼스 면에서 크게 향상된다.

Constants and Variables

상수, 변수 선언 - 타입 추론

let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0

코드에 저장된 값이 변경되지 않으면 항상 이 값을 let으로 선언. 변경할 수 있는 값을 저장할 때만 var를 사용.
개인적으로 스위프트의 많은 개념에서 가장 중요한 핵심 문장이라고 생각하는데 공식 문서에 참고로 표시되고 있다.

여러 상수 또는 여러 변수를 쉼표로 구분하여 한 줄에 선언할 수 있다.

var x = 0.0, y = 0.0, z = 0.0

최종 변수 이름 뒤에 Type을 정의하여 쉼표로 구분된 동일한 유형의 여러 변수를 정의할 수 있다.

var red, green, blue: Double

예약된 Swift 키워드와 동일한 이름을 let 또는 var에 지정해야 하는 경우, 해당 키워드를 백틱으로 둘러싸십시오(`)
이름으로 사용할 때.그러나 선택권이 전혀 없는 경우가 아니라면 키워드를 이름으로 사용하지 마십시오.

Semicolons

한 줄에 여러 개의 statement를 쓰려면 세미콜론이 필요하다.

let cat = "🐱"; print(cat)
// Prints "🐱"

Integers

Swift는 부호, 미부호 정수에 대해 각각8, 16, 32, 64비트 형태로 제공한다. 미부호 8비트는 UInt8, 32비트 부호 정수의 유형은 Int32로
Swift의 모든 타입과 마찬가지로, Int 타입은 대문자로 된 이름을 가지고 있다.

Integer Bounds

Integer의 기본 크기는 시스템 플랫폼을 따라가는 것이 일반적이다. iPhone 5S부터 64bit Architecture가 적용되었다.

On a 32-bit platform, Int is the same size as Int32.
On a 64-bit platform, Int is the same size as Int64.

실제 부호, 미부호 정수 타입 비교

Signed Integer

print("Int   : \(Int.min)   >> \(Int.max)")
print("Int8  : \(Int8.min)  >> \(Int8.max)")
print("Int16 : \(Int16.min) >> \(Int16.max)")
print("Int32 : \(Int32.min) >> \(Int32.max)")
print("Int64 : \(Int64.min) >> \(Int64.max)")

> Int : -9223372036854775808 >> 9223372036854775807
> Int8 : -128 >> 127
> Int16 : -32768 >> 32767
> Int32 : -2147483648 >> 2147483647
> Int64 : -9223372036854775808 >> 9223372036854775807 //기본 Integer 타입과 동일

Unsigned Integer

print("UInt   : \(UInt.min)   >> \(UInt.max)")
print("UInt8  : \(UInt8.min)  >> \(UInt8.max)")
print("UInt16 : \(UInt16.min) >> \(UInt16.max)")
print("UInt32 : \(UInt32.min) >> \(UInt32.max)")
print("UInt64 : \(UInt64.min) >> \(UInt64.max)")

> UInt : 0 >> 18446744073709551615
> UInt8 : 0 >> 255
> UInt16 : 0 >> 65535
> UInt32 : 0 >> 4294967295
> UInt64 : 0 >> 18446744073709551615 //기본 UInt와 동일, iOS 64bit

Floating-Point Numbers (부동소수점 숫자)

부동 소수점은 소수를 표현하기 위한 방법으로 3.14159, 0.1, -273.15

부동 소수점 타입은 정수 유형보다 훨씬 넓은 범위의 값을 나타낼 수 있으며, 정수형이 저장 가능한 값보다 훨씬 크거나 작은 숫자를 저장할 수 있다.
Swift는 두 가지 부호 부동 소수점 타입을 제공한다.

Double - 64비트 부동 소수점 숫자를 나타낸다.
Float - 32비트 부동 소수점 숫자를 나타낸다.

Double

print("Double   :  \(Double.leastNormalMagnitude) >> \(Double.greatestFiniteMagnitude)")
print("Double2   :  \(Double.leastNonzeroMagnitude) >> \(Double.greatestFiniteMagnitude)")

> Double : 2.2250738585072014e-308 >> 1.7976931348623157e+308
> Double2 : 5e-324 >> 1.7976931348623157e+308

Float

print("Float   :  \(Float.leastNormalMagnitude) >> \(Float.greatestFiniteMagnitude)")
print("Float2   :  \(Float.leastNonzeroMagnitude) >> \(Float.greatestFiniteMagnitude)")

> Float : 1.1754944e-38 >> 3.4028235e+38
> Float2 : 1e-45 >> 3.4028235e+38

두 유형 중 일반적으로는 Double이 선호된다.

반응형

'Develop > Swift' 카테고리의 다른 글

Advances in Collection View Layout  (0) 2022.09.04
Figma 자동 익스포트 for Xcode, Android Studio  (0) 2022.08.28
[iOS][Swift] WiFi AP 목록 스캔 또는 장치 연결  (1) 2022.08.28
Swift 요약 1  (0) 2022.05.08
Swift Basics 2부  (0) 2022.05.08
    'Develop/Swift' 카테고리의 다른 글
    • Figma 자동 익스포트 for Xcode, Android Studio
    • [iOS][Swift] WiFi AP 목록 스캔 또는 장치 연결
    • Swift 요약 1
    • Swift Basics 2부
    hsleedevelop
    hsleedevelop
    iOS, Swift js, node js, react c, c++, .net ruby, sql

    티스토리툴바