점진적 과부하 개발 블로그

iOS 프로그래밍 실무 2주차 강의 정리 본문

iOS/강의 정리

iOS 프로그래밍 실무 2주차 강의 정리

지용빡 2022. 3. 16. 19:38
반응형

print() 함수 사용법 구글링과 실행 결과를 주석으로 달기

 

print("One two three four five")

// Prints "One two three four five"

print(1...5)

// Prints "1...5"

print(1.0, 2.0, 3.0, 4.0, 5.0)

// Prints "1.0 2.0 3.0 4.0 5.0"

print(1.0, 2.0, 3.0, 4.0, 5.0, separator: " ... ")

// Prints "1.0 ... 2.0 ... 3.0 ... 4.0 ... 5.0"

for n in 1...5 {

    print(n, terminator: "  ")

} 

// Prints "12345"

 

구글링 실습 : 자료형의 종류와 크기가 궁금해요

 

var x = 10.0

print(type(of:x)) // Double

let s = MemoryLayout.size(ofValue: x)

let t = MemoryLayout<Double>.size

print(s, t) // 8 8

 

32비트 부호 있는 정수 데이터 타입에 대한 최솟값과 최댓값을 출력

 

var x : Int = 10

print(x) // 10

print("x") // x

print("\(x)") // 10

print("값은 \(x)입니다.") // 값은 10입니다.

print("Int32 Min = \(Int32.min) Int32 Max = \(Int32.max)") // Int32 Min = -2147483648 Int32 Max = 2147483647

 

부동 소수점 데이터 타입 : Double

 

var myWeight = 58.5

print(type(of:myWeight))  // Double

 

문자 데이터 타입 : Character

 

var myChar4 = "\u{0058}" //?

myChar4 = "\u{0263B}"

print(myChar4) // ☻

 

상수의 값 할당

 

let bookTitle: String

var book = true

if book {

bookTitle = "iOS"

} else {

bookTitle = "Android"

}

print(bookTitle) // iOS

 

튜플(Tuple)

 

let myTuple = (10, 12.1, "Hi")

print(type(of:myTuple)) // (Int, Double, String)

 

튜플(Tuple) 실습

 

let myTuple = (count: 10, length: 12.1, message: "Hi") //과제 : myTuple의 자료형

print(type(of:myTuple)) // (count: Int, length: Double, message: String)

print(myTuple.message, myTuple.2) // Hi Hi

 

여러 옵셔널을 언래핑

 

var x : Int?

var y : Int?

x = 10

y = 20

if let xx = x, let yy = y {

print(xx, yy) // 10, 20

}

else {

print("nil")

}

 

두 가지 Optional : Int? vs Int!

 

let x : Int? = 1

let y : Int = x!

let z = x

print(x,y,z) //Optional(1) 1 Optional(1)

print(type(of:x),type(of:y),type(of:z)) //Optional<Int> Int Optional<Int>

 

let a : Int! = 1

let b : Int = a //Optional로 사용되지 않으면 자동으로 unwrap함

let c : Int = a!

let d = a //Optional로 사용될 수 있으므로 Optional형임

let e = a + 1

print(a,b,c,d,e) //Optional(1) 1 1 Optional(1) 2

print(type(of:a),type(of:b),type(of:c),type(of:d), type(of:e)) //Optional<Int> Int Int Optional<Int> Int

 

AnyAnyObject

 

var x: Any = "Hi"

print(x, type(of:x)) // Hi String

x = 10

print(x, type(of:x)) // 10 Int

x = 3.5

print(x, type(of:x)) // 3.5 Double

//type을 검사해서 사용

// 어떤 자료형도 저장이 가능, 되도록이면 안쓰는게 좋음

 

 

One-Sided Ranges

 

let names = ["A", "B", "C", "D"]

for name in names[...2] { //[...2], [..<2] //과제: 실행 결과

print(name)

} // A

  // B

  // C

 

let names = ["A", "B", "C", "D"]

for name in names[..<2] { //[...2], [..<2] //과제: 실행 결과

print(name)

} // A

  // B

 

Nil-Coalescing Operator (Nil합병연산자) ??

 

let defaultAge = 1

var age : Int?

age = 3

print(age) // Optional(3)

var myAge = age ?? defaultAge

print(myAge) // 3

 

as! vs as?

 

var x: Any = "Hi"

print(x, type(of:x)) // Hi String

x = 10

var y: Int = x as! Int

var z : Int? = x as? Int

print(x, type(of:x)) // 10 Int 

print(y, type(of:y)) // 10 Int

print(z, type(of:z)) // Optional(10) Optioanl<Int>

 

for-in

 

for _ in 1...5 {

print("반가워요")

}

for i in 1...5 {

print("\(i) 반갑습니다")

}

 

배열의 항목 접근

 

let names = ["반", "가", "워", "요"]

for name in names {

print(name) // 반 가 워 요

}

 

 

dicctionary의 항목 접근

 

let numberOfLegs = ["dog": 4, "pig": 4, "cat": 4]

//dictionary는 key:value형식의 배열

for (animalName, legCount) in numberOfLegs {

print("\(animalName)s have \(legCount) legs")

}

// cats have 4 legs

// dogs have 4 legs

// pigs have 4 legs

 

 참고 문헌 : 2022년 3-1학기 iOS프로그래밍실무 한성현 교수님 강의 

반응형

'iOS > 강의 정리' 카테고리의 다른 글

iOS Open API 기반 앱 개발 (3)  (0) 2022.05.26
iOS Open API 기반 앱 개발 (2)  (0) 2022.05.25
iOS) Open API 기반 iOS앱 개발  (0) 2022.05.24