edWith에 iOS Developer강좌를 수강중입니다.
Swift에 경험이 없어도 따라하면서 이해가능하겠지 생각했는데..아니네요.
Swift입문을 먼저 수강하면서 정리합니다.
https://www.edwith.org/boostcamp_ios
1. 문자열 보간법 (String Interpolation)
문자열내에 변수(또는 상수)의 값을 표현
문자열내에 변수(또는 상수)의 값을 표현
let num: Int=2
"My favorite number is \(num)." //\<-백슬래시
2.콘솔로그
print() //단순문자열출력
dump() //인스턴스의 자세한정보출력
3.상수와 변수 선언
let constantNum: Int = 100 //let 상수이름: 타입 = 값
var variableNum: Int = 100 //var 변수이름: 타입 = 값
4.기본 데이터 타입
Swift는 데이터 타입에 엄격
1)Bool
var isGood: Bool = true
isGood = false
isGood = 0 // error: cannot assign value of type 'Int' to type 'Bool'
isGood = 1 // error: cannot assign value of type 'Int' to type 'Bool'
(명시적 형 변환)
import UIKit
isGood = (1 as NSNumber).boolValue
2)Int(UInt)
기본적으로 64비트 (양의)정수형
var myNum: Int = 100
myNum = 100.2 // error: cannot assign value of type 'Double' to type 'Int'
(명시적 형 변환)
myNum=Int(100.2)
var myUNum: UInt = 100
myUNum = -100 // error: Negative integer '-100' overflows when stored into unsigned type 'UInt'
(명시적 형 변환)
myUNum=(-100 as NSNumber).uintValue
->에러는 발생하지 않는데...엄청난 값( 9223372036854775807 )이 되어버립니다.
var myNum: Int = 100
var myUNum: UInt = 100
myUNum = myNum // error: Cannot convert value of type 'Int' to specified type 'UInt'
(명시적 형 변환)
myUNum = UInt.init(myNum)
3)Float, Double
실수타입, Float(32비트 부동소수형), Double(64비트 부동소수형)
var myFloat: Float = 10.1
myFloat=100
var myInt: Int = 100
myFloat=myInt // error: Cannot convert value of type 'Int' to specified type 'Float'
(명시적 형 변환)
import UIKit
myFloat = (myInt as NSNumber).floatValue
4)Character, String
문자타입, 유니코드, 큰따옴표("")사용
var myCharacter: Character = "A"
myCharacter = "AB"
// error: Cannot convert value of type 'String' to specified type 'Character'
var myCharacter: Array<Character> = ["A","B"]
var myCharacter: [Character] = ["A","B"]
var myCharacter: Character = "A"
var myString: String = "AB"
myString = myCharacter // error: cannot assign value of type 'Character' to type 'String'
(명시적 형 변환)
myString = String(myCharacter)