swift 변수와 상수
- valuable → var ( 변수 ): var value = 0
- : 나중에 수정이 자유롭게 가능한 변수에 사용
- constant → let ( 상수 ): let value = 0
- : 수정이 불가한 변수에 사용
💡 실무에서는 임의로 변경할 수 있기 때문에 let 사용을 권장한다.(수정이 필요한 부분은 나중에 var로 수정)
Int 와 UInt
- UInt는 0와 양수만 표현할 수 있는 정수형 타입
- Int는 음수와 양수를 모두 포함한 정수형 타입
method 작성
중복되는 코드가 존재 할 시 method로 뽑아낸다
함수 반환 타입은 → 으로 지정, 이때 method( 함수 )는 func 으로 선언
// 메소드 호출
refresh()
//파라미터가 있는 메소드 호출
hello(name : "박은지", time : 5)
//파라미터에 _ 존재하는 메소드 호출
hello2("박은지", time : 5)
//파라미터 기본값 지정
hello3("박은지")
//리턴값이 있는 메소드
var myName = hello4("박은지")
//함수 안에 함수 정의 메소드
let hello = mainHello(msg : "님 안녕하세요!")
subHello("박은지")
//파라미터가 여러개
sum(1,2)
sum(1,2,3)
//-------------------------------------------------------------------------------
// 중복되는 코드 메소드로 묶기
func refresh(){
let randomPrice = arc4random_uniform(10000) + 1
currentValue = Int(randomPrice)
priceLAbel.text = "\(currentValue)원"
}
//파라미터가 있는 메소드
func hello(name : String ,time : Int){
for _ in 0..<time {
print(name)
}
}
//파라미터 이름 _ 존재 여부
//파라미터 이름을 _로 정의하면 호출 할 때 파라미터 이름 생략 가능
func hello2(_name : String , time : Int){
//...
}
//파라미터에 기본값 지정 ( 지정된 파라미터는 함수 호출 시 생략 가능 )
func hello3(_name : String, time: Int = 1){
//...
}
//리턴값이 있는 메소드
func hello4(name : String) -> String{
return "\(name)님 안녕하세요!"
}
//함수 안에 정의한 함수를 반환
func mainHello(msg: String ) -> (String) -> String { //문자열을 받아서 문자열을 반환
func subHello(name: String) -> String {
return name + msg
}
return subHello
}
//파라미터가 여러개인 메소드 (갯수가 정해지지 않음)
func sum(_nums : Int...) -> Int{
var sum = 0
for num in nums {
sum += num
}
return sum
}
타입추론
swift에서 제공하는 강력한 기능: 사용하는 변수들 마다 데이터 타입을 적어주는 것도 가능
타입을 굳이 선언하지 않아도 option 키를 누르고 마우스로 클릭 하면 타입을 보여준다.
var num : Int = 0 // 타입을 적어주는 예
var num = 0 // option키 누르고 마우스 올리면 타입 확인 가능
배열과 딕셔너리
배열과 딕셔너리는 모두 [ ] 를 이용해서 정의 할 수 있다.
상수와 마찬가지로 let 으로 선언하면 수정 불가
//배열
var language = ["Swift", "Python", "Java"]
//딕셔너리
var capitals = [
"한국" : "서울"
"일본" : "도쿄"
]
//타입 선언 배열
var language: [String] = ["Swift", "Python", "Java"]
//타입 선언 딕셔너리
var capitals: [String: String] = [
"한국" : "서울"
"일본" : "도쿄"
]
//빈 배열
var language: [String] = []
var language = [String]()
//빈 딕셔너리
var capitals: [String: String] = [:]
var capitals = [String: String]()
'Swift' 카테고리의 다른 글
[Swift] 조건문과 반복문, Optional (0) | 2022.02.10 |
---|---|
[Swift] 로딩페이지 띄우기, pageViewController (0) | 2021.03.25 |
[Swift] Object와 문자열 (0) | 2021.03.25 |
[Swift] Alert 띄우기 (0) | 2021.03.25 |
[Swift] ViewController와 button Event (0) | 2021.03.25 |