inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]

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

320

작성자 없음

작성한 질문수 0

0

안녕하세요.

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

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

ios swift 동시성

답변 1

1

iOS Developer - 이정

안녕하세요

 

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

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

 

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

 

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

0

72

2

table view 없음

0

99

2

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

0

202

2

Main interface 지정 방법

0

168

1

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

0

171

2

TodoCell UIview 생성 후 연결 시 오류

0

414

2

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

0

345

2

TODO List Coredata 질문입니다.

0

342

1

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

0

359

1

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

1

620

1

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

0

331

1

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

0

591

2

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

0

412

1

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

0

373

1

클론강의 tableViewCell

0

404

1

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

1

253

1

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

0

503

1

Capturing Valus

0

295

1

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

0

314

1

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

0

551

2

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

0

273

1

변수 let 위치 질문입니다.

0

365

1

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

0

333

1

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

0

379

1