학습 내용

1. 첫 번째 학습 내용: Notification Center vs. addObserver

  • 여러개의 인스턴스들이 어떻게 통신할까? Notification Center를 이용해서!
  • Notification Center -> Notification 라이브 방송을 송출하는 것과 비슷함.
  • 인스턴스 사이의 통신 (메시지 전달)하는 수단.
  • 앱에서 이벤트란? 앱에서 일어나는 모든 일련의 동작들
  • 예를 들어, 특정 시점에 부가 정보 실어서 보내고 싶을때 Post에서 보낼때 UserInfo 딕셔너리 형태로 실어서 보낼 수 있다.
  • Notification center는 조금 수동적인 방식
  • Why? 나한테 알려줘야지 알 수 있으니까!
  • 능동적으로 저 친구가 어떻게 변화 되는지 지켜보는 방식
  • addObserver -> pengsu에다가 지켜보는 친구 붙여줌
  • Key - Value - Observing 방식
  • (통신을 한다기 보다는) 일방적인 관계
  • 망원경 들고 보고있는 거임

지켜보기만 하기 때문에 허락을 맡지 않아도 됨!

  • 처음에 했던 notification center같은 경우 누군가 발송을 해야 받을 수 있음!
  • 중간 매개체가 필요하다.

2. 두 번째 학습 내용: 딕셔너리

  • Dictionary란? key와 value로 데이터를 저장하는 컨테이너.
  • 각각의 value는 유일한 키 값에 물려있으며, key값은 Dictionary안에서 value를 찾기 위한 식별자역할을 함.
  • Dictionary에는 순서가 없음. key값으로 value를 찾기 때문에 순서가 의미없는 것.
import Foundation

var yagomCamper2nd: Dictionary = [String: String]()
print(yagomCamper2nd)
// print [:]
yagomCamper2nd["Sunny"] = "선정"
print(yagomCamper2nd)
// print ["Sunny": "선정"]
yagomCamper2nd["Steven"] = "승우"
print(yagomCamper2nd)
// print ["Steven": "승우", "Sunny": "선정"]
print(yagomCamper2nd["Sunny"]!, yagomCamper2nd["Steven"]!)
// print 선정 승우

처음 출력할 땐 빈 값 [:]으로 출력.

그 이후엔 키와 밸류값이 랜덤 순서로 같이 출력된다.

마지막엔 강제 언래핑을 해주어 밸류만 출력해주었다.

참고 자료
Swift3 ) Collection - Dictionary사용해보기 by ZeddiOS

3. 세 번째 학습 내용: 매개변수 불러오는 방법

  • 밖에서 불러오는 매개변수명을 다르게 설정하고 싶은 경우
func plus(input1 a: Int, input2 b: Int) -> Int {
		return a + b
}

plus(input1: 1, input2: 2)

a, b는 plus 함수 안에서만 사용할 수 있음!

input1, input2는 밖에서 불러올 때 쓸 수 있음.

  • 매개변수명을 밖에서 불러올 때도 동일하게 쓰고 싶은 경우 & 생략하고 싶은 경우
func plus(a: Int, _ b: Int) -> Int {
    return a + b
}

plus(a: 1, 2)

_를 매개변수 앞에 써주면 b값에 정수만 써준 것처럼 매개변수를 드러내지 않아도 됨.

profile
iOS Developer

0개의 댓글