제목을 참조하십시오. 좀 더 구체적으로, 개체의 mutableCopy를 반환하려고 시도하지만 retainCount가 1로 반환되고 누수가 될지 걱정됩니다.Objective-C에서 객체를 반환 할 때 retainCount는 무엇이되어야합니까?
답변
mutableCopy는 항상 객체의 retainCount를 증가시킵니다. 따라서 retain, copy 또는 mutableCopy를 사용하는 경우에는 dealloc 메소드에서 해제해야합니다.
당신이해야 그 객체는 다음과 같이, 오토 릴리즈를 사용하여 반환하는 경우 :
[[[NSString alloc] initWithString:@"Test"] autorelease];
오토 릴리즈 풀 당신을위한 객체를 해제하고 할당 해제의 방법으로 공개 할 필요가 없습니다.
호프가 도움이됩니다.
그 점을 이해 합니다만, 제가 그 물건을 돌려 주면 어떨까요? – skylerl
죄송합니다, 귀하의 질문에 반환 부분을 놓치지 마십시오. – reinaldoluckman
이 방법은 표준 메모리 관리 절차를 따라야합니다. 메서드가 객체를 반환하지만 "alloc", "new", "copy", "create"또는 "retain"이라는 단어를 포함하지 않으면 객체가 자동으로 릴리즈되어야합니다.
해당 단어 중 하나가 포함 된 경우 +1 보유 횟수와 함께 반환되어야합니다. 예를 들어
:
//return an autoreleased object, since there's no copy, create, retain, alloc, or new
- (id) doSomethingWithFoo:(id)foo {
id fooCopy = [foo copy];
[fooCopy doTheNeedful];
return [fooCopy autorelease];
}
//return a +1 object, since there's a copy in the name
- (id) copySomethingWithFoo:(id)foo {
id fooCopy = [foo copy];
[fooCopy doTheNeedful];
return fooCopy;
}
- 1. json이 문자열의 마지막 객체를 반환 할 때 eval'd 일 때
- 2. Objective-C의 retainCount는 무엇입니까?
- 3. ObjectiveC에서 ECMAscript
- 4. Objective-C 객체를 반환 할 때 메모리 관리
- 5. Rhino.Mocks는 다형성 객체를 반환 할 때 InvalidCastException을 생성합니다.
- 6. 할당 할 때 객체를 할당 할 때
- 7. Json 객체를 반환 할 수없는 이유는 무엇입니까?
- 8. 클래스가 자체 객체를 반환 할 수 있습니까?
- 9. WebService에서 객체를 반환 할 수 있습니까?
- 10. IoC를 사용할 때 단위 테스트 전략은 무엇이되어야합니까?
- 11. hadoop.tmp.dir은 무엇이되어야합니까?
- 12. 백엔드는 무엇이되어야합니까?
- 13. RemotingServices.IsObjectOutAppAppDomain false를 반환 할 때?
- 14. 반환 할 때 함수를 호출하는 방법
- 15. 다른 스레드에서 객체를 반환 하시겠습니까?
- 16. JavaScript 생성자 함수에서 객체를 반환 할 때 ('new'를 피할 때) public 멤버를 구현하려면 어떻게해야합니까?
- 17. 반환 된 NSError 객체를 릴리스해야합니까?
- 18. JSON/PHP/Mysql으로 자바 객체를 저장하면 사용자가 반환 할 때 다시로드 할 수 있습니까?
- 19. ObjectiveC에서 사용자 지정 클래스에 대한 대리자를 구현할 때 참조 계산
- 20. ObjectiveC에서 .doc (MSWord) 파일 읽기?
- 21. Google지도 API 키는 무엇이되어야합니까?
- 22. 이것에 대한 쿼리는 무엇이되어야합니까?
- 23. CGImageSourceCopyPropertiesAtIndex 호출에서 반환 객체를 릴리스해야합니까?
- 24. 콜백 함수는 전역 객체를 반환 :/
- 25. 배열에서 배열 번호의 객체를 반환
- 26. 코코아에서 객체를 선언 할 때 객체를 nil로 설정해야합니까?
- 27. shared_ptr을 반환 할 때 공변 반환 형식을 수행하는 방법은 무엇입니까?
- 28. C# 함수의 반환 값이 존재하지 않습니다. 사전을 반환 할 때
- 29. NSMutableArray에 객체를 추가 할 때 문제가 발생했습니다.
- 30. initComponent와 객체를 정의 할 때 생성자
카운트는 그것이 있어야 무엇이든해야 유지; 특정 번호는 흥미롭지 않습니다. Dave DeLong의 대답은 정확합니다. – bbum