티스토리 뷰
오늘은 스위프트의 구조체에 대해서 알아보겠습니다.
struct 이름 {
프로퍼티
메서드
}
위와 같은 형태로 선언할 수 있습니다.
예를 들면 고양이 구조체는 아래와 같이 선언할 수 있습니다.
struct Cat {
let name: String
var age: Int
}
구조체는 자동으로 생성된 이니셜라이저를 통해 생성할 수 있습니다.
var yaong: Cat = Cat(name: "yaong", age: 5)
또는 아래와 같이 직접 이니셜라이저 메서드를 선언해줄 수 있습니다.
init (nameEntred: String) {
name = nameEntred
age = 1
}
직접 이니셜라이저 메서드를 선언해주면 기본으로 생성된 이니셜라이저는 사용하실 수 없습니다.
위에서 인스턴스를 만들어주는 소스는 직접 만든 이니셜라이저를 따르지 않기 때문에 오류가 발생합니다.
직접 만든 이니셜라이저 메서드를 따라서 아래와 같이 인스턴스를 만드는 부분을 변경하였습니다.
var yaong: Cat = Cat(nameEntred: "yaong")
프로퍼티를 선언할 때 var로 선언해 가변 프로퍼티이면 아래와 같이 값을 변경하실 수 있습니다.
yaong.age = 2
lat으로 선언한 name 불변 프로퍼티는 변경할 수 없습니다.
또한 인스턴스를 만들 때 let 으로 선언한 불변 인스턴스라면 가변 프로퍼티라도 변경할 수 없습니다.
이상 기본적인 구조체의 구조에 대해서 알아봤습니다.
'IT > Swift' 카테고리의 다른 글
Swift Patterns and Pattern matching (0) | 2019.05.03 |
---|---|
Swift Overriding and Overloading (0) | 2019.04.29 |
Swift Protocol and Polymorphism (0) | 2019.04.25 |
TDD 와 Swift 를 이용해 가상 Git 제작 하기 - 1 (0) | 2019.04.22 |
Swift Property (0) | 2019.04.17 |
- Total
- Today
- Yesterday
- 뇌를 자극하는 C 프로그래밍
- 형용사
- 프로그램
- 배열
- 프로그래밍
- Swift
- Xcode
- 함수
- 반복문
- Apple
- 포인터
- 영어
- 연습문제
- 시원스쿨
- 애플
- 왕초보 영단어1
- Matlab
- 단어
- exercise
- IOS
- database
- terascan
- 테라스캔
- 매트랩
- 스위프트
- MySQL
- 리눅스
- C
- 뇌를 자극하는 C프로그래밍
- 데이터베이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |