objective-c - property - objective c tutorial




Objective-C의 retainCount는 무엇입니까? (2)

retainCount는 개체에 대해 해결되지 않은 소유권 주장 수입니다.

"alloc"또는 "new"로 시작하거나 "copy"(예 : alloc, newObject 또는 mutableCopy)가 포함 된 메서드를 사용하여 객체를 만들거나 retain 메시지를 보내는 경우 소유권을 가져옵니다. 이 모든 것은 retainCount를 증가시킵니다.

"release"또는 "autorelease"를 사용하여 소유권을 양도합니다. 이것들은 retainCount를 감소시킵니다.

그러나 retainCount의 가치에 대해 어떠한주의도 기울여서는 안됩니다. 가장 혼란 스럽지만 최악의 오해의 소지가 있습니다. 메모리 관리 규칙을 따르기 만하면됩니다. 객체에 대한 참조를 유지하고 작업이 끝나면 소유권을 포기해야 할 때 소유권을 가져 오면 문제가 발생하지 않습니다.

retainCount를보고 있다면 잘못된 방향으로 가고 있으며 단순히 혼란 스러울뿐입니다.

UINavigation 컨트롤러가있는 첫 번째 화면으로 UITableView 가 있습니다.

내 첫 번째 화면에서 나는 NSLog(@"Home Screen retain Count=%d",[self retainCount]); viewDidLoad 가 호출 될 때 6 인치를 기록합니다.

이 올바른지?


괜찮아. 왜 그것이 틀렸을까요?

일반적으로 보유 수에서 사물을 결정하려고하는 것은 나쁜 생각입니다. 개체를 보유 할 수있는 시간에 대한 규칙은 없습니다. 유일한 규칙은 각 보유가 릴리스와 균형을 유지해야한다는 것입니다.





retaincount