- 변수, 상수, 함수, 메서드 타입 등의 이름은 유니코드에서 지원하는 어떤 문자(한글, 한자, 영문, 숫자, 이모티콘 등등)라도 사용할 수 있다. 하지만 아래의 경우는 사용할 수 없다.
- 스위프트에서 미리 정한 예약어 또는 키워드
- 해당 코드 범위 내에서 미리 사용되는 기존 이름과 동일한 이름
- 연산자로 사용될 수 있는 기호(+, -, *, /)
- 숫자로 시작하는 이름
- 공백이 포함된 이름
- 함수, 메서드, 인스턴스, 이름은 첫 글자를 소문자로 사용하는 소문자 카멜케이스를 사용한다.
- 클래스, 구조체, 익스텐션, 프로토콜, 열거형 이름은 타입의 이름이기 때문에 첫 글자를 대문자로 사용하는 대문자 카멜케이스를 사용한다.
- 대소문자를 구별한다.
print() 함수는 디버깅 콘솔에 간략한 정보를 출력해주는 반면, dump()함수는 조금 더 자세한 정보를 출력해준다.
truct BasicInformation{
let name: String
var age: Int
}
var bhinfo: BasicInformation = BasicInformation(name:"bh", age:26)
class Person{
var height: Float = 0.0
var weight: Float = 0.0
}
let bh: Person = Person()
bh.height = 169.3
bh.weight = 65.2
print(bhinfo)
dump(bhinfo)
print()
print(bh)
dump(bh)
결과
BasicInformation(name: "bh", age: 26)
▿ __lldb_expr_22.BasicInformation
- name: "bh"
- age: 26
__lldb_expr_22.Person
▿ __lldb_expr_22.Person #0
- height: 169.3
- weight: 65.2
Xcode에는 말풍선 형태로 레퍼런스 문서의 요약된 내용을 보여주는 퀵헬프라는 기능이 있다.
코드를 작성하는 중에 리퍼런스 문서로 이동하지 않고 데이터 타입니다 메서드 등의 간단한 정보를 확인할 수 있는 유용한 기능이다.
퀵헬프를 보려면 변수, 상수, 함수, 메서드, 타입 등 위에 마우스 커서를 위치한 다음 키보드의 [option]키를 누른 상태로 클릭하면 된다.
한 줄 주석
// 한 줄 주석
여러 줄 주석
/*
여
러
줄
주
석
*/
중첩 주석
/*
여
/*러
줄
중
//중첩주석
*/
가능
*/
일정한 마크업 형식에 따라 주석을 작성하면 퀵헬프를 통해 그 내용을 확인할 수 있다.
한 줄 주석은 /// 로 표현하고,
여러 줄 주석은 /** */ 로 나타낸다.
ex1)
/// 오류타입의 열거형 입니다.
/// - noName: 이름을 전달받지 못했을 때 발생하는 오류
/// - incorrectAge(age: Int): 나이가 0세 미만, 150세 초과인 경우 잘못된 나이로 인식하여 오류로 처리
/// - unknown: 알 수 없는 오류
enum HelloError: Error{
case noName
case incorrectAge(age: Int)
case unknown
}
enum HelloError: Error의 퀵헬프
ex2)
/**
여기에 작성되는 텍스트는 Summary 부분에 표기 된다.
여기에 작성되는 텍스트는 Description 부분에 표기 된다.
텍스트 간에 한 줄을 비워 놓으면 줄바꿈이 된다.
'-', '+', '*'를 사용하여 원형 글머리 기호를 사용할 수 있습니다.
- 이렇게
+ 이렇게
* 이렇게
글머리 기호 매기기
1. 1번
2. 2번
6. 3번
---
문단 바꿈
바를 세 개 이상 사용하면 긴 줄로 문단을 나누어 준다.
___
언더바 또는 별표를 사용하여 텍스트를 강조할 수 있다.
텍스트를 기울이기 *기울여 줘*
텍스트를 굵게 표시 **굵게 해줘**
링크 넣기
[SwiftBlog](https://velog.io/@qudgh849)
___
등호를 사용하면 바로 위 텍스트를 큰 제목으로 표시. 텍스트 앞에 #을 하나 붙여줘도 동일한 효과
큰제목
===
바를 사용하면 바로 위 텍스트를 중간 크기 제목으로 표시해준다. 텍스트 앞에 ##을 두 개 붙여줘도 동일한 효과
중간 크기 제목
----
다른 텍스트보다 네 칸 이상 들여쓰기 하면 코드 블록을 만들어 준다. 또한 강세표(backquote, ` )를 세 개 이상 한 쌍으로 묶어도 코드 블록을 만들어 준다.
//코멘트 가능
let myName: String = "bh"
let helloSwift(myName, yourAge: 100)
Precondition, Postcondition, Requires, Invariant, Complexity, Important, Warning, Author, Authors, Copyright, Date, SeeAlso, Since, Version, Attention, Bug, Experiment, Note, Remark, ToDo 등의 키워드를 통해 적절한 정보를 제공할 수 있다.
- note: 강조하고픈 메모를 노트로 남길 수 있다.
- author: 작성자를 남길 수 있다.
- warning: 주의해야 할 점
___
>매개변수와 반환 값 등도 적절히 표기해줄 수 있다.
- parameters:
- yourName: 당신의 이름.
- yourAge: 당신의 나이
- Throws: 오류가 발생하면 HelloError의 한 케이스를 throw
- returns: Hello String
*/
func helloSwift(yourName: String?, yourAge age: Int = 0) throws -> String{
guard let name: String = yourName else{
throw HelloError.noName
}
if age > 150{
throw HelloError.incorrectAge(age: age)
}
return "Hello Swift!! My name is \(name)." + (age > 0 ? " I'm \(age) years old." : "")
}
func helloSwift(yourName: String?, yourAge age: Int = 0) throws -> String의 퀵헬프
변수는 생성 후 데이터 값을 변경할 수 있지만, 상수는 한번 값을 설정하면 다음에 변경할 수 없다.
var [변수명]: [데이터 타입] = [값]
ex) var name: String = "bh"
let [상수명]: [데이터 타입] = [값]
ex) let name: String = "bh"