1 swift
- ios app 개발을 할때 사용하는 언어
2 playground
- 간단하게 swift코드를 돌려볼 수 있는 곳
- file -> new -> playground
- blank -> next
3 간단한 코드 실행해 보기
import UIKit
let value = arc4random_uniform(100)
print("value : \(value)")
- 아래 검은 창에 콘솔 출력 내용을 볼 수 있다
- 우측 검은 창에 현재 value의 값과 함수의 결과를 미리 볼 수 있다.
- 코드 실행 버튼
4 Tuple
- 서로 다른 데이터를 묶어서 저장하는 공간
let person = (10, "Tom")
let age = person.0
let name = person.1
- person은 10 과 Tom이라는 정보를 가지고 있는 변수다
- person.0, person.1로 각 요소에 접근 가능
- type은 (Int, String)이다
let person2 = (age: 10, name: "Tom")
let age = person2.age
let name = person2.name
- 이렇게 각 요소의 이름을 지정해서 접근할 수도 있다.
let coordinate = (x: 1, y: 2, z:3)
//let x = coordinate.x
//let y = coordinate.y
//let z = coordinate.z
let (x, y, z) = coordinate
- 각 요소를 하나하나 접근하지않고 튜플째로 (x, y, z)에 각각 대입할 수 있다.
5 flow control
*while과 if-else
var i = 0
//if (i<10) is also available
while i < 10 {
//if (i==5) is also available
if i==5 {
break
}
i += 1
}
- 조건식이 들어가는 곳에 ()를 생략해도 된다.
*do-while
// do while
var i = 0
repeat {
print(i)
i += 1
} while i < 10
- do..while문에서 do 를 repeat으로 대체해서 쓰면된다.
var sum = 0
let closedRange = 0...10
let halfClosedRange = 0..<10
for i in closedRange {
sum += i
}
print(sum)
sum = 0
for i in halfClosedRange {
sum += i
}
print(sum)
- 0...10, 0..<10 처럼 범위를 한번에 변수에 저장할 수 있다.
- i in closedRange처럼 원소들을 탐색하면서 그 원소들의 값을 i에 담아서 for문 안에서 사용할 수 있다.
var closedRange = 0...10
for _ in closedRange {
print("hi")
}
- 만약 i를 사용하지 않고 단순히 11번 반복 수행 할 것이라면 다음과 같이 쓸 수 있다.
- 앞으로 사용하지 않는 변수를 _로 대체하는 것이다.
var closedRange = 0...10
for i in closedRange where i%2 == 0 {
print(i)
}
- closedRange안의 원소들을 하나씩 꺼내올때 뒤의 조건을 만족할때만 코드를 실행하도록 할 수 있다.
*switch
let num = 10
switch num {
case 0:
print("0")
case 0...10:
print("0...10")
case 10:
print("10")
default:
print("default")
}
- 반드시 모든 케이스를 정의해야 한다. 위 코드에서 default가 없으면 에러이다.
- switch에서 각 케이스에 해당되는 내용을 실행하고 나면 switch를 빠져나온다.
- 위 코드에서는 0...10만 출력되고 종료된다.
- switch의 조건식에는 int말고 다른 타입도 들어갈 수 있다.
let num = 10
switch num {
case _ where num%2 == 0:
print("even number")
default:
print("odd number")
}
- 이렇게 case에서 조건을 검사할 수 있다.
let coordinate = (x: 0, y: 10)
switch coordinate {
case (0,0):
print("원점")
case (_,0):
print("x축 위의 점")
case (0,_):
print("y축 위의 점")
default:
print("odd number")
}
- tuple을 switch문에 활용해 보자.
let coordinate = (x: 0, y: 10)
switch coordinate {
case (0,0):
print("원점")
case (let x,0):
print("x축 위의 점 \(x)")
case (0,let y):
print("y축 위의 점 \(y)")
default:
print("default")
}
- _대신 값을 받아서 활용할 수도 있다.
let coordinate = (x: 10, y: 10)
switch coordinate {
case (0,0):
print("원점")
case (let x,0):
print("x축 위의 점 \(x)")
case (0,let y):
print("y축 위의 점 \(y)")
case (let x,let y) where x==y:
print("y=x 위의 점")
default:
print("odd number")
}
- where를 활용해서 조건을 추가하여 case를 만들 수 있다.
6 sin함수 그리기
- sin함수를 쓰기 위해서는 Foundation을 import해야한다.
- 오른쪽에 네모난 show result버튼을 누르면 그림을 볼 수 있다.
'ComputerScience > ios App(Storyboard)' 카테고리의 다른 글
ios - 8 swift 기본문법(Array, Dictionary, Set) (0) | 2021.07.21 |
---|---|
ios - 7 swift 기본문법(Function, Optional) (0) | 2021.07.15 |
ios - 5 Auto Layout, 앱 아이콘, 이름 설정 (0) | 2021.01.28 |
ios - 4 Outlet, Image View (0) | 2021.01.27 |
ios - 3 다음 프로젝트를 위한 기초 지식 (0) | 2021.01.26 |