일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- AnyObject
- font book
- RunningTimer
- 단일 책임원칙
- 서체관리자
- Startign Assignments
- CLLocationManagerDelegate
- Protocol
- weatherKit
- Xcode
- App Store Connect
- MKMapItem
- xcode로 날씨앱 만들기
- swift
- SwiftUI Boolean 값
- 한국어 개인정보처리방침
- 러닝기록앱
- UICollectionViewFlowLayout
- weak var
- MKMapViewDelegate
- UIAlertAction
- dispatchsource
- CoreLocation
- Timer
- 클로저의 캡슐화
- addannotation
- 영문 개인정보처리방침
- Required Reason API
- 러닝타이머
- WeatherManager
- Today
- Total
VesselWheel
[SwiftUI] Type Conversion & Type Casting의 개념 본문
import UIKit
// Type Conversion
// ㄴ 메모리에 저장된 값 자체를 형변환함
// Type Casting
//. ㄴ 메모리에 저장된 값은 형변환하지 않고
// compiler 가 다른 형식으로 처리하게 함
// 형변환 형식 : 타입(값)
let num1 = 1234
let num2 = 12.34
// 두 변수의 type 을 같게 해야 오류가 발생하지 않음
print(Double(num1) + num2)
print(num1 + Int(num2))
// Int8(정수) : Int8 type 에서
// 저장할 수 없는 크기인 경우,
// Int8보다 큰 type 으로 conversion
// 해야 됨
let num3 = Int16(num1)
// 123 은 Int8 type으로
// 저장할 수 있는 값이어서
// Int8(num1_1) 이 가능함
let num1_1 = 123
let num3_1 = Int8(num1_1)
// Int8 type 의 값을 할당받으면
// num4 의 type 도 Int8 이 됨
let num4 = Int16(num1)
// Int type 의 최댓값 할당하기
let num5 = Int.max
// Int type 의 최댓값은
// Int64 type 으로 저장할 수 있음
// let num6 = Int8(num5)
let num6 = Int64(num5)
print(num5, num6)
// 문자열을 숫자로 conversion 하기
//. ㄴ 숫자 모양의 문자열만 가능함
let str1 = "123"
let num7 = Int(str1)
let str2 = "hello"
// 숫자 모양이 아닌 문자열을
// Int type 으로 형변환하는 경우,
// nil 을 반환함
// Int(str2) : str2 에 할당된
// "hello" 를 정수로 변환한 값이 없으므로
// nil(없는 값) 을 반환함
let num8 = Int(str2)
'Xcode Study' 카테고리의 다른 글
[SwiftUI]SwiftUI의 특징 : Overflow Operators (0) | 2023.04.24 |
---|---|
[SwiftUI] Type 의 별칭 == Typealias (0) | 2023.04.24 |
[SwiftUI] Type의 성격 중 Type Safety (0) | 2023.04.24 |
[SwiftUI] 변수의 추론 : type(of:number) (0) | 2023.04.24 |
[SwiftUI] Bool(Boolean) 타입의 개념 (0) | 2023.04.24 |