inflearn logo
강의

Course

Instructor

Becoming a Successful Real iOS Developer [From Basics to Practice]

closure 3 에서 weak로 준 부분이 궁금합니다.

328

작성자 없음

0 asked

0

안녕하세요.

레퍼런스 변수의 경우 레퍼런스 카운터에 의해 메모리에서 해제 되는 시점을 확인 한다고 이해 했는데요.
캡쳐 리스트에서 weak self 를 사용 할 경우 레퍼런스 카운터가 증가하지 않게 되고
그래서 클로저 변수를 메모리에서 해제 하지 않아도 결국 클래스의 deinit이 호출되는것을 확인 하였습니다.

그렇다면 weak를 사용해 캡쳐 된 레퍼런스 변수들은 메모리에 그대로 남아 있는건가요?
아니면 클래스인스턴스에서 레퍼런스 카운터가 0이 될 때 메모리에서 weak로 참조된 변수들도 같이 해제 되는건지 궁금합니다.

ios swift 동시성

Answer 1

1

enilv0529

안녕하세요

 

레퍼런스 카운트0이 되면 해당 레퍼런스는 메모리 해제 됩니다.

그럼 당연히 그 레퍼런스를 참조하고 있던 변수들도 다 메모리에서 해제됩니다.

 

참고로 이 내용은 ARC강의로 따로 올려놨으니 보시면 바로 이해가 되실겁니다.

 

패싱1강에서 강의중에 질문 있습니다.

0

85

2

table view 없음

0

114

2

에러 질문 [UITextField setDataSource:]: unrecognized selector sent to instance 0x107079600"

0

218

2

Main interface 지정 방법

0

183

1

Closure_3 Capture List에 참조 타입 값을 작성할 경우에도 deinit 실행되는 이유가 뭘까요?

0

184

2

TodoCell UIview 생성 후 연결 시 오류

0

429

2

테이블 뷰 데이터 업데이트 관련 질문

0

360

2

TODO List Coredata 질문입니다.

0

345

1

혹시 추가예정인 강의가 대략 언제쯤 나오는지 알수있을까요..?

0

366

1

swift에서 import 헤더를 안해도 되는이유가 궁금합니다.

1

636

1

concurrency_1 강의 코드 결과 중 이해가 안가는 부분이 있습니다

0

334

1

self.navigationBar.topItem?.leftBarButtonItem을 해도 button이 보이지 않습니다

0

597

2

func 기능을 쓸때 self. 을 왜쓰는지 이해가 잘안되네요 ㅠㅠ

0

419

1

Closure2 강의에서 예문처럼 똑같이 myfunc2, myfunc3 만들었을때

0

379

1

클론강의 tableViewCell

0

407

1

Location.pin강의에서 self질문이요

1

261

1

넷플릭스 table cell 관련해서 질문이 있습니다.

0

515

1

Capturing Valus

0

302

1

안녕하세요 todolist강의중에서 UI구성중 xib파일 오토레이아웃질문입니다.

0

319

1

환율 강의 테이블뷰에서 데이터 관련 질문있습니다.

0

558

2

환율 네트워크처리1 질문있습니다.

0

276

1

변수 let 위치 질문입니다.

0

370

1

섹션 9 영상 잘림 확인 부탁드립니다

0

337

1

안녕하세요 강의내용 질문입니다.

0

384

1