소피it블로그
[Swift] 100 Days of Swift - Day 8 정리 본문
https://www.hackingwithswift.com/100/8
1. Structure or Struct: 사용자가 만드는 타입 중 하나로, 자신만의 변수, 상수, 함수를 가질 수 있고 사용자가 원하는 대로 구현할 수 있다. 구조체 안의 변수 및 상수는 프라퍼티라고 부른다.
⭐️ 2. computed property: 대비되는 개념으로는 stored property가 있다. computed properties calculate values on the fly.
struct Food {
var name: String
var isKoreanFood: Bool
var koreanFoodOrNot: String {
if isKoreanFood {
return "\(name) is a Korean food."
} else {
return "\(name) is not a Korean food."
}
}
}
let taco = Food(name: "taco", isKoreanFood: false)
print(taco.koreanFoodOrNot)
// computed property는 항상 explicit한 타입이 있어야 하며, 상수는 computed property가 될 수 없다.
⭐️ 3. property observer: 프라퍼티의 변경 이전이나 이후에 코드를 실행하게 해줌. willSet{ }은 프라퍼티가 변경되기 전, didSet { }은 프라퍼티가 변경된 후에 코드를 실행하는데 willSet은 거의 사용하지 않음. 또한, 상수는 변경되지 않기 때문에 상수 프라퍼티에는 property observers를 설정해줄 수 없음.
4. 구조체의 메서드: 구조체 안에 함수를 써줄 수 있는데, 이를 메서드라고 함. 선언은 func로 동일
⭐️ 5. 구조체의 메서드를 통해 프라퍼티를 바꾸고 싶으면 mutating 키워드를 사용해야 함
struct Person {
var name: String
mutating func makeAnonymous() {
name = "Anonymous"
}
}
var person = Person(name: "Kat")
person.makeAnonymous()
// 값이 변경되기 때문에 constant가 아닌 variable에 대해서만 가능
6. String, array: 스트링과 배열도 구조체이기 때문에 자신만의 다양한 메서드와 프라퍼티가 있음
'개발_iOS > 스위프트' 카테고리의 다른 글
[Swift] 100 Days of Swift - Day 10 정리 (0) | 2022.03.28 |
---|---|
[Swift] 100 Days of Swift - Day 9 정리 (0) | 2022.03.28 |
[Swift] 100 Days of Swift - Day 7 정리 (0) | 2022.03.27 |
[Swift] 100 Days of Swift - Day 6 정리 (0) | 2022.03.27 |
[Swift] 100 Days of Swift - Day 5 정리 (0) | 2022.03.26 |