1. 자료구조

  1. 배열(Array)

  2. 큐(Queue)

  3. 스택(Stack)

2. 메모리 구조 및 ARC


  1. 메모리 구조

  2. ARC(Automatic Reference Counting)

순환 참조 해결 예제

class Person {
	var name: String
	var pet: Pet?
	
	init(name: String) {
		self.name = name
	}
}

class Pet {
	var owner: Person?
}

let person = Person(name: "Mori")
let pet = Pet()

person.pet = pet
pet.owner = person // 순환 참조 발생

해결 방법

class Pet {
	weak var owner: Person?
}

weak vs unowned