-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<3주차> Delegate란 무언인가 설명하고, retain 되는지 안되는지 그 이유를 함께 설명하시오. #14
Comments
Delegate란어떤 객체가 해야할일을 부분적으로 확장해서 대신 처리해주는 역할을 해준다. retain 되는가? |
Delegate 순환참조(두 객체가 서로 잡고있어 하나가 사라지려고 할 때 다른 한 쪽이 잡고 있으면 사라지지 않는 현상)에 의한 메모리 누수가 발생할 수 있다, weak 선언과 옵셔널로 선언해 약한 참조로 선언해 메모리 누수 발생을 방지한다. |
Delegate대리자
|
Delegate모든 일을 한 객체에게 맡기는게 아니라, 그 객체가 수행해야할 일을 델리게이트가 일부를 받아서 대신 처리해주는 것.즉 대신 처리를 해줄 객체!! retain이란...?retain cycle이라고 정확하게 말하면 메모리가 해제되지 않고 유지되어 누수가 생기는 현상을 말함 따라서 객체간의 작업인 delegate에 retain현상이 일어남 해당 블로그에서 Obj-c에서는 retain을 사용하지 않고 assign을 한다는데 조큼 신기 했음! |
Delegate어떤 객체가 해야 하는 일을 부분적으로 확장해 대신 처리하는 것을 의미합니다. 객체의 행동을 단순화 하면서 객체 간의 결합성을 최소화 시키는 데에 장점이 있습니다. Retain객체에 대한 메모리가 해제되지 않아 누수가 발생하는 현상을 의미합니다. (두 클래스 인스턴스가 서로 강한 참조를 하게 되면 Retain Cycle이 발생합니다.) 이 때 참조를 |
DelegateDelegate 란 하나의 객체가 모든 일을 처리하는 것이 아니라 처리해야 할 일 중 일부를 다른 객체에게 위임하는 것이다. RetainRetain cycle은 메모리가 해제되지 않고 유지되어 누수가 생기는 현상을 말하며 두 객체간의 참조가 강한 순환참조가 생겨 메모리에서 해제되지 않는 현상이다. 따라서 Delegate 또한 객체간의 참조가 이루어 지기 때문에 retain cycle 현상이 발생할 수 있다. 따라서 아래 TableView와 같이 delegate를 weak으로 선언하여 메모리가 해제 될시 자동으로 해제시켜 주어야 한다. |
No description provided.
The text was updated successfully, but these errors were encountered: