int someFunction (CLLocation *currentLocation) {
double latitude = 12.3f;
double longitude = 22.5f;
CLLocationDistance d1 = [currentLocation distanceFromLocation:
[[CLLocation alloc] initWithLatitude:latitude longitude:longitude]];
return 0;
}
답변
예. 목표 - C의 메모리 관리는 복잡하게 보일 수 있지만 하나의 기본적인 규칙을 기억하는 것은 지금까지 당신을 데려 갈 것이다 : 당신은 이름이 "ALLOC"또는 "새로운"또는로 시작하는 방법을 사용하여 만드는 경우
는당신은 객체의 소유권을 "copy"(예 : alloc, newObject 또는 mutableCopy)를 포함하거나 보관 메시지를 보내는 경우. 귀하는 릴리스 또는 자동 릴리스를 사용하여 소유하고있는 오브젝트의 소유권을 포기할 책임이 있습니다. 다른 어떤 시간에 물건을 받으면 그것을 풀어서는 안됩니다.
당신은 release
또는 autorelease
없이 alloc
전화, 그래서 당신은 규칙을 깨고있다.
예. 두 번째 CLLocation
을 distanceFromLocation
으로 전달하고 해제하지 않도록 할당하고 있습니다.
대신 할 수있는 :
CLLocationDistance d1 = [currentLocation distanceFromLocation:
[[[CLLocation alloc] initWithLatitude:latitude longitude:longitude] autorelease]];
(또는 여러 가지 다른 일을 @whisty이 코멘트에 제안대로 docs를 참조하십시오.).
(또한,이를 만들기 위해 조금 무의미한 것 같습니다 전화를 걸어 그 값을 d1
에 할당하고 버리십시오.)
메모리 관리에 대한 Apple의 문서도 읽어야합니다 (http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmRules.html#//apple_ref/doc/uid/). 20000994-BAJHFBGH –
예. CLLocation 객체를 할당하지만 결코 해제하지 마십시오. memory management guide을 통해 읽기를 강력히 권합니다.
- 1. iPhone 메모리 누수가 있습니까?
- 2. 메모리 누수가 있습니까? 어떻게해야합니까?
- 3. 파이썬 메모리 누수가 있습니까?
- 4. 메모리 누수가 있습니까?
- 5. CoreMIDI 메모리 누수가 있습니까?
- 6. NSCFTimer 메모리 누수가 있습니까?
- 7. Image의 메모리 누수가 있습니까?
- 8. 메모리 누수가
- 9. 불완전한 유형의 메모리 누수가 있습니까?
- 10. 여기에 메모리 누수가 어디 있습니까?
- 11. 왜이 라인에 메모리 누수가 있습니까?
- 12. NSDictionary 메모리 누수가
- 13. loadNibNamed에서 메모리 누수가 발생합니까?
- 14. 메모리 누수가 발생합니까?
- 15. NSXMLParser에서 메모리 누수가 발생했습니다.
- 16. 메모리 누수가 발생 했습니까?
- 17. Excel에서 메모리 누수가 발생했습니다.
- 18. libxml2.2에서 메모리 누수가 발생했습니다.
- 19. JDBC4Connection에서 메모리 누수가 발생했습니다.
- 20. BeginInvoke에서 메모리 누수가
- 21. SharePoint 메모리 누수가
- 22. 메모리 누수가 사용하는 SQLite는
- 23. MPMoviePlayerController에서 메모리 누수가 발생했습니다.
- 24. strtok 및 메모리 누수가
- 25. navBar로 메모리 누수가 발생했습니다.
- 26. 메모리 누수가 발생합니까?
- 27. VB에서 메모리 누수가 발생했습니다.
- 28. viewForHeaderInSection에서 메모리 누수가 발생합니까?
- 29. 메모리 누수가 발생합니까?
- 30. 왜 메모리 누수가 발생합니까?
감사합니다. @ "Fsfsdfsd"상수는 다르게 처리됩니까? – Jarsj
문자열 상수에 대해 걱정할 필요가 없습니다. 당신은 그것들을'할당 '하지 않습니다 - 그들이 몇 번이나 유지되거나 해제되었는지에 상관없이 항상 거기에 있습니다. (그러나 언젠가 상수가 아닌 무언가를 넣을 경우에 사용하는'NSString' 변수로 옳은 일을하는 것이 여전히 좋은 생각입니다.) –