[iOS] 1주차 정리

Zoe·2022년 6월 7일
0

iOS

목록 보기
2/39

1주차 정리


🌟 새로 이해한 내용 위주로 정리!

✅ 데이터 타입

  • 존재 이유 : 사람의 뇌와 컴퓨터는 다름. 컴퓨터가 데이터를 얼마만큼의 크기, 어떤 형태로 저장할 것인지에 대한 약속이 데이터 타입.
  • 타입은 메모리 공간의 크기와 연관이 있음.

✅ 타입(형) 변환

//기존에 메모리에 저장된 값을 다른 형식으로 바꿔서, 새로운 값을 생성해서 다른 메모리 공간에 다시 저장

let str2 = "123"
let number1 = Int(str2)

print(number1)

let str3 = "123.4"
let number2 = Int(str3)           // 타입컨버전이 실패했을 때 ====> nil(값이 없음)이 리턴될 수 있다.

print(number2)   

let n = 2
let n2 = Double(n)

print(n2)

let n3: Int = Int(2.4)
print(n3)

✅ 접근 연산자

//random
var number = Int.random(in: 1...5)

//스터디 교재 중 멀티스와이프할 때

let swipeUpMulti = UISwipeGestureRecognizer(target: self, action: #selector(ViewController.respondToSwipeGestureMulti(_:)))
        
swipeUpMulti.direction = UISwipeGestureRecognizer.Direction.up
        
swipeUpMulti.numberOfTouchesRequired = numOfTouchs
        
self.view.addGestureRecognizer(swipeUpMulti)

✅ 범위 연산자, 패턴 매칭 연산자

  • 스위치문은 내부적으로 패턴매칭 연산자로 구현이 되어있음
var temperature = 19

switch temperature {
case ..<0:
    print("영하 - 0도 미만")
case 0...18:
    print("0도 이상 무덥지 않은 날씨")
case 19...:
    print("여름 날씨")
default:
    break
}

✅ switch

num = 7

switch num {
case let x where x % 2 == 0:      // let x = num
    print("짝수 숫자: \(x)")
case let x where x % 2 != 0:
    print("홀수 숫자: \(x)")
default:
    break
}

✅ 튜플

  • 변수를 선언과 동시 해당 멤버(데이터의 종류 및 갯수)는 결정되므로 추가/삭제 불가
//예시
let iOS = (language: "Swift", version: "5")

iOS.0
iOS.1

// 코드의 가독성이 높아짐

iOS.language
iOS.version

✅ Labeled Statements

  • 반복문을 중첩적으로 사용할때, 각 반복문에 이름을 붙여서, 가장 인접한 범위 이외의 반복문도 제어가능
OUTER: for i in 0...3 {
    print("OUTER \(i)")
    INNER: for j in 0...3 {
        if i > 1 {
            print("  j :", j)
            continue OUTER
            //break OUTER
        }
        print("  INNER \(j)")
    }    
}

✅ 함수

🌟 사용 이유

  • 반복되는 동작을 단순화해서 재사용 가능
  • 코드를 논리적 단위로 구분 가능(기능을 모듈화)
  • 코드의 길이가 긴 것을 단순화해서 사용 가능
  • 미리 함수를 잘 만들어 놓으면, 개발자는 사용만 하면 됨 (애플이 미리 만들어 놓은 것이 많음)
profile
iOS 개발자😺

0개의 댓글