11/16(화) iOS 복습 1

KCH·2021년 11월 16일
0

iOS Review

목록 보기
1/1

11/16(화) iOS 복습 1


1. 앱 출시과정

  • 개발 -> 심사 -> 출시
    • 개발 : 구현 후 개인정보 처리방침 등 추가하는 방식으로 진행
    • 심사 : 1~2일 내로 리뷰어가 배정됨(사람), 피드백 제공, 기술 문제 등으로 리젝 가능
    • 출시 : 심사가 잘 완료되었을 경우 48시간 내로 출시

2. Xcode 프로젝트의 간단한 구조

  • 화면 : Storyboard
  • 기능 : *.swift
  • 리소스 : Assets
  • 권한 : info.plist

3. Life Cycle

  • viewDidLoad() : 컨트롤러의 뷰가 메모리에 적재된 후 호출
    • 시스템에 의해 자동으로 호출되기 때문에 일반적으로 리소스를 초기화하거나,
      초기 화면을 구성하는 용도로 주로 사용
  • viewWillAppear() : 뷰가 나타나기 직전에 호출
    • viewDidLoad() 보다 살짝 늦게 호출
    • 다른 뷰에서 다시 돌아오는 상황에 호출되며, 사용함
  • viewDidAppear() : 뷰가 화면에 나타난 직후에 호출
    • 뷰가 나타났다는 것을 컨트롤러에게 알리는 역할
  • viewWillDisappear() : 뷰가 사라지기 직전에 호출
    • 뷰가 삭제 되려고 하는것을 컨트롤러에게 알리는 역할
  • viewDidDisappear() : 뷰 컨트롤러가 뷰가 제거되었음을 알려줌

*출처: https://zeddios.tistory.com/43 [ZeddiOS]

다른 자료들 : https://nareunhagae.tistory.com/6 (SSAC 수강생 중 한분) 잘 읽었습니다 감사해요 ㅠㅠ


4. 형변환

var number = 26
var changeString = String(number) // "26"

var str = "asdf"
var changeInt = Int(str) // Error

5. Array

var snack = ["칙촉", "이넥", "키드오", "포카칩", "크런키"]

// 배열의 값 검색
print(snack) // ["칙촉", "이넥", "키드오", "포카칩", "크런키"]
print(snack[0]) // "칙촉"
print(snack[0...2]) // ["칙촉", "이넥", "키드오"]
print(snack[0..<2]) // ["칙촉", "이넥"]

// 인덱스의 값 추가
snack.insert("스윙칩",at: 4) // 4번의 크런키는 5번 인덱스가 됨
print(snack) // ["칙촉", "이넥", "키드오", "포카칩", "스윙칩", "크런키"]

// 배열의 마지막 요소에 값 추가
snack.append("몽쉘")
print(snack) // ["칙촉", "이넥", "키드오", "포카칩", "스윙칩", "크런키", "몽쉘"]

// 인덱스의 값 삭제
snack.remove(at: 3)
print(snack) // ["칙촉", "이넥", "키드오", "크런키", "몽쉘"]

// 그외 배열 메서드
snack.removeFirst()	// 배열의 첫번째 값 삭제
snack.removeLast() // 배열의 마지막 값 삭제
snack.removeAll() // 배열의 모든 값 삭제

6. Dictionary

  • 키/값 으로 이루어졌으며, 키가 삭제되면 값도 삭제됨
  • 키는 순서가 있으며, 값은 순서가 없음
var phone = [ "아이폰" : ["아이폰1", "아이폰2", "아이폰3"], "갤럭시" : ["갤럭시S2", "갤럭시S3"] ]

for item in phone {
	print("휴대폰 : \(item.key)")	// 아이폰, 갤럭시
    print(item.value)
}

// *결과
// 휴대폰 : 아이폰
// ["아이폰1, "아이폰2", "아이폰3"]
// 휴대폰 : 갤럭시
// ["갤럭시S2, "갤럭시 S3"]

7. Set(집합)

  • 값의 중복 불가능
  • 순서 없음, 인덱스 없음
  • Set 사용시 명시 필수
    • ex) var set: Set
var set1 = [1, 2, 3, 6, 12]
var set2 = [1, 2, 4, 8]

// 집합의 메서드
set1.intersection(set2) // [1, 2] -> 교집합
set1.union(set2) // 합집합
set1.symmetricDifference(set2) // 합집합 후 교집합 제거
set1.subtract(set2) // 차집합

// 기타 메서드
set.insert(value) // 값 삽입
set.contains(value) // 값이 있으면 true -> return Bool
set.remove(value) // 값 삭제
set.removeAll() // 모든 값 삭제

8. 튜플

  • 서로다른 타입을 담을 수 있음
  • 순서 있음, 인덱스 있음
  • 선언 후 수정 및 삭제 불가능
var any = ("adas", 123, 1.25, [0, 1, 2, 3], false)

any.2 // 123

any.3[2] // 2

9. 신기한 Swift Switch문

  • case에 여러 조건을 둘수있음 콤마(,)도 가능 -> ...
  • break문이 Default임(밑에 케이스도 출력되게 하려면 fallthrough 키워드 사용)
switch grade {
case 90...100:
	print("A")
case 80...89:
	print("B")
    .
    .
    .
}

10. 와일드카드 식별자 "_"

func exFunc(_ name: String, age: Int) {
...
}

exFunc("kc", age: 40)
profile
dreaming developer

0개의 댓글