스위프트 프로그래밍 3판을 보고 정리한 내용입니다.
대문자 카멜 케이스를 통해 명명해주면 된다.
프로퍼티와 메서드는 소문자 카멜 케이스를 사용한다.
struct Person{
var name: String
var age: Int
}
var personInfo:Person = Person(name:"junseole",age:27)
var personInfo.age = 30 // 변경 가능
let personInfo2:Person = Person(name:"junseole",age:27)
personInfo2.name = "nojunseole" // 변경 불가
대문자 카멜 케이스를 통해 명명해주면 된다.
프로퍼티와 메서드는 소문자 카멜 케이스를 사용한다.
class Person{
var name:String = ""
var age:Int = 0
}
var personInfo:Person = Person()
personInfo.name = "junseole"
personInfo.age = 27
let personInfo2:Person = Person()
personInfo2.name = "junseole" //오류가 나지 않는다.
personInfo2.age = 27
class Person{
var name:String = ""
var age:Int = 0
deinit{
print("Person 클래스의 인스턴스가 소멸됩니다.")
}
}
var personInfo:Person? = Person()
personInfo = nil //Person 클래스의 인스턴스가 소멸됩니다.
구조체는 값타입 클래스는 참조 타입
스위프트의 기본 데이터 타입은 모두 구조체
애플 가이드라인에서 다음 조건중 하나 이상 해당한다면 구조체를 사용하는 것을 권장하고 있다.