지금까지 Objective-C 개발자는 여러 가지 메모리 관리 방법을 사용할 수 있는데, 가장 일반적인 방법은 [객체 할당 해제]입니다.
MRC: [객체 유지]가 참조될 때마다 참조 횟수는 +1이 되며, 우발적인 해제 및 와일드 포인터를 방지하기 위해 [객체 해제]가 사용됩니다.
GC: Cocoa에서만 지원됩니다. NSGarbageCollector는 Java와 유사한 자동 가비지 수집을 구현할 수 있습니다. 단점은 성능에 영향을 미치기 때문에 Cocoa Touch에서는 이 기능을 제공하지 않습니다.
ARC: 이것은 새로운 기능입니다(실제로는 새로운 것이 아닙니다). Xcode의 새로운 기본 컴파일러인 Apple LLVM은 이전 LLVM-GCC를 대체하고 Clang을 정적 분석기와 함께 제공되는 프런트 엔드로 사용합니다. 컴파일하면 분석기가 보유 및 릴리스를 추가해야 하는 위치에서 이를 완료합니다. ARC는 수많은 수동 참조 계산 작업을 인계받아 많은 실수를 방지할 수 있습니다. ARC를 사용한 후에는 보유 및 해제 방법을 수동으로 사용하는 것이 금지됩니다. 할당 해제를 오버로드할 수 있지만 사용자 정의된 릴리스만 구현할 수 있습니다.
2.0
2.0에 GC 추가
실제로 여기서 기사를 찾고 계시나요? "세 명의 우수한 학생 Chris Lattner가 작성한 Mac OS X(8) LLVM 컴파일 툴 체인 비하인드 스토리"
iOS 5. Xcode 4.2.
지금까지 Objective-C 개발자는 여러 가지 메모리 관리 방법을 사용할 수 있는데, 가장 일반적인 방법은 [객체 할당 해제]입니다.
MRC: [객체 유지]가 참조될 때마다 참조 횟수는 +1이 되며, 우발적인 해제 및 와일드 포인터를 방지하기 위해 [객체 해제]가 사용됩니다.
GC: Cocoa에서만 지원됩니다. NSGarbageCollector는 Java와 유사한 자동 가비지 수집을 구현할 수 있습니다. 단점은 성능에 영향을 미치기 때문에 Cocoa Touch에서는 이 기능을 제공하지 않습니다.
ARC: 이것은 새로운 기능입니다(실제로는 새로운 것이 아닙니다). Xcode의 새로운 기본 컴파일러인 Apple LLVM은 이전 LLVM-GCC를 대체하고 Clang을 정적 분석기와 함께 제공되는 프런트 엔드로 사용합니다. 컴파일하면 분석기가 보유 및 릴리스를 추가해야 하는 위치에서 이를 완료합니다. ARC는 수많은 수동 참조 계산 작업을 인계받아 많은 실수를 방지할 수 있습니다. ARC를 사용한 후에는 보유 및 해제 방법을 수동으로 사용하는 것이 금지됩니다. 할당 해제를 오버로드할 수 있지만 사용자 정의된 릴리스만 구현할 수 있습니다.
최근 이것저것 알아보고 있는데 혹시 틀린 부분이 있으면 정정해주세요