320x100
728x90
📌 타입 별칭
Type aliases 이며, 이미 존재하는 타입에 다른 이름을 붙이는 것.
typealias 키워드를 사용함
typealias AudioSample = UInt16
var maxFound = AudioSample.min
📌튜플
튜플 값은 어떠한 타입도 가능하며, 서로 같은 타입일 필요는 없다.
let httpError = (404, "Not Fount")
//튜플의 타입은 (Int, String)
🔎 튜플 값 접근하기
1. 개별 요소로 접근하기
let (statusCode, statusMessage) = httpError
print("statusCode : \(statusCode)")
// statusCode : 404
print("statusMessage : \(statusMessage)")
// statusMessage : Not Found
1.2 일부만 필요한 경우
필요하지 않은 부분은 언더바(_) 처리를 하여 무시한다.
let (justTheStatusCode, _) = httpError
print("statusCode : \(justTheStatusCode)")
// statusCode : 404
2. 인덱스 사용하여 접근하기
처음에 선언한 튜플 httpError의 인덱스를 사용하여 접근한다.
httpError.0 , httpError.1
print("statusCode : \(httpError.0)")
// statusCode : 404
print("TstatusMessage : \(httpError.1)")
// statusMessage : Not Found
3. 이름 요소를 정해 접근하기
튜플을 정의할 때, 요소에 이름을 정할 수 있다.
let httpStatus = (statusCode: 200, description: "OK")
print("statusCode : \(httpStatus.statusCode)")
// statusCode : 200
print("statusMessage : \(httpStatus.description)")
// statusMessage : OK
👉함수의 반환 값이 여러개일 때, 사용하면 용이하다. 하지만 데이터 구조가 복잡하면 사용 X
+ 크기가 같은 튜플은 비교할 수 있다.
(1, "zebra") < (2, "apple") // 각각 튜플의 첫번째 요소를 비교하여 2는 1보다 크다
(3, "apple") < (3, "bird") // 첫번째 요소는 같지만, b는 a 보다 크다
(4, "dog") == (4, "dog")
< 혹은 > 연산자로 비교 불가능한 경우는 다음과 같다.
("blue", false) < ("purple", true) //에러. boolean 값은 비교 불가능함
string과 Int 값만 < 혹은 > 연산자를 사용하여 비교 가능하다
📌옵셔널과 nil
값이 없는 경우 혹은 값이 있지만 옵셔널을 풀어서 값에 접근할 경우 옵셔널(optionals)을 사용한다.
혹은 옵셔널 변수에 특수 값 nil로 지정하여 값이 없는 상태를 나타낼 수 있다.
var surveyAnswer: String?
var ResponseCode: Int? = 404
ResponseCode = nil
옵셔널 바인딩을 사용하여 if 혹은 while 구문에서 옵셔널 값이 있는 지 체크할 수 있다.
let num = "123"
if let convertNum = Int(num) {
print("The string has an integer value of \(convertNum)")
} else {
print("The string could not be converted to an integer")
}
에러 처리에 대해서는
나중에 자세하게 알아보겠다..
728x90
반응형
'IOS > Swift' 카테고리의 다른 글
[Swift] 콜렉션(Collection) 타입(2) - 집합(Set) (0) | 2022.12.27 |
---|---|
[Swift] 콜렉션(Collection) 타입(1) - 배열(Array) (0) | 2022.12.27 |
[Swift] 문자열과 문자 (0) | 2022.12.26 |
[Swift] 기본 연산자(Basic Operators) (0) | 2022.12.22 |
[Swift] 상수(Constants)와 변수(Variables) (0) | 2022.12.21 |