«automatic-ref-counting» 태그된 질문

ARC (Automatic Reference Counting)는 Objective-C 및 Swift 오브젝트의 자동 메모리 관리를 제공하는 컴파일러 기능입니다.

18
프로젝트에서 단일 파일에 대해 ARC를 비활성화하려면 어떻게해야합니까?
프로젝트에서 ARC를 성공적으로 사용하고 있습니다. 그러나 ARC 규칙이 지금보다 조금 더 취약한 몇 가지 파일 (예 : 단위 테스트 및 모의 객체)이 발생했습니다. 이 옵션을 찾을 수 없지만 파일별로 ARC를 비활성화하는 방법이 있다는 것을 들었습니다. 이것이 가능한가? 파일 단위로 ARC를 비활성화하려면 어떻게합니까?

19
selectSelect를 알 수 없으므로 performSelector에서 누수가 발생할 수 있습니다.
ARC 컴파일러에서 다음과 같은 경고 메시지가 나타납니다. "performSelector may cause a leak because its selector is unknown". 내가하고있는 일은 다음과 같습니다. [_controller performSelector:NSSelectorFromString(@"someMethod")]; 왜이 경고가 나타 납니까? 컴파일러가 선택기가 존재하는지 여부를 확인할 수는 없지만 누출을 일으키는 이유는 무엇입니까? 더 이상이 경고가 표시되지 않도록 코드를 변경하려면 어떻게해야합니까?

11
ARC에서 IBOutlet이 강하거나 약해야합니까?
ARC를 사용하여 iOS 5 전용으로 개발 중입니다. 한다은 IBOutlet에이야 UIView의 (및 서브 클래스) 일 strong이나 weak? 다음과 같은: @property (nonatomic, weak) IBOutlet UIButton *button; 이 모든 것을 제거 할 것입니다 : - (void)viewDidUnload { // ... self.button = nil; // ... } 이 작업에 문제가 있습니까? 템플릿은 strong'Interface Builder'편집기에서 헤더에 …

9
Swift에서 항상 [소유하지 않은 자체] 클로저를 사용해야합니까?
WWDC 2014 session 403 Intermediate Swift and transcript 에서 다음 슬라이드가있었습니다 이 경우 스피커는 사용하지 않으면 [unowned self]메모리 누수가 발생 한다고 말했다 . 항상 [unowned self]내부 폐쇄를 사용해야한다는 의미 입니까? 에 스위프트 날씨 응용 프로그램의 ViewController.swift 라인 (64) , I는 사용하지 마십시오 [unowned self]. 하지만 일부 사용하여 UI를 업데이트 @IBOutlet처럼들 …

8
Objective-C ARC : 강력 vs 유지 및 취약 대 할당
ARC가 도입 한 속성에 대한 두 가지 새로운 메모리 관리 속성이 있습니다. strong 하고 weak. copy분명히 완전히 다른 무언가를 제외하고 는 strongvs retain와 차이점이 있습니까?weak vsassign 있습니까? 내 이해에서, 여기의 유일한 차이점 은 포인터에 weak할당 된다는 것 입니다. 그렇지 않지만, 포인터를 놓으면 포인터에 메시지를 보낼 때 프로그램이 중단됩니다. 그러나을 사용하면 …


2
Apple은 ARC에서 싱글 톤 패턴을 구현하기 위해 dispatch_once를 사용하도록 권장하는 이유는 무엇입니까?
ARC에서 싱글 톤의 공유 인스턴스 접근 자에 dispatch_once를 사용하는 정확한 이유는 무엇입니까? + (MyClass *)sharedInstance { // Static local predicate must be initialized to 0 static MyClass *sharedInstance = nil; static dispatch_once_t onceToken = 0; dispatch_once(&onceToken, ^{ sharedInstance = [[MyClass alloc] init]; // Do any other initialisation stuff here }); …


10
시맨틱 이슈 : Property의 합성 게터는 '소유 한'객체를 반환하기 위해 Cocoa 명명 규칙을 따릅니다.
현재 iOS 5 SDK를 사용하여 앱을 개발하려고합니다. NSString을 속성으로 만들고 .m 파일에서 합성하려고합니다 (이전에 문제없이 수행했습니다). "의미 적 문제 : 속성의 합성 게터는 '소유 한'객체를 반환하기 위해 Cocoa 명명 규칙을 따릅니다." 이것은 내 코드입니다 : .h @interface ViewController : UIViewController { NSString *newTitle; } @property (strong, nonatomic) NSString *newTitle; .미디엄 …

8
ARC를 사용하도록 프로젝트를 변환 할 때 "스위치 케이스가 보호 범위에 있음"은 무엇을 의미합니까?
ARC를 사용하도록 프로젝트를 변환 할 때 "스위치 케이스가 보호 범위에 있음"은 무엇을 의미합니까? Xcode 4 편집-> 리 팩터-> Objective-C ARC로 변환을 사용하여 ARC를 사용하도록 프로젝트를 변환하고 있습니다 ... 내가 얻는 오류 중 하나는 스위치의 "일부"에서 "스위치 케이스가 보호 범위에 있습니다"입니다. 스위치 케이스. 편집, 코드는 다음과 같습니다. 오류는 "기본"경우에 표시됩니다. - …

6
ARC에서 항상 자신에 대한 약한 참조를 블록으로 전달합니까?
Objective-C의 블록 사용에 대해 약간 혼란 스럽습니다. 현재 ARC를 사용하고 있으며 앱에 많은 블록이 있으며 현재 self약한 참조 대신 항상 참조합니다 . 이러한 블록이 유지 self되고 할당이 해제되지 않도록 하는 원인이 될 수 있습니까? 문제는 항상 블록에서 weak참조를 사용해야 self합니까? -(void)handleNewerData:(NSArray *)arr { ProcessOperation *operation = [[ProcessOperation alloc] initWithDataToProcess:arr completion:^(NSMutableArray …

7
약한 참조와 소유되지 않은 참조의 차이점은 무엇입니까?
스위프트는 : 강력한 참조 약한 참조 소유되지 않은 참조 소유하지 않은 참조는 약한 참조와 어떻게 다릅니 까? 소유하지 않은 참조를 사용하는 것이 언제 안전합니까? 소유되지 않은 참조는 C / C ++에서 매달려있는 포인터 와 같은 보안 위험 요소 입니까?

5
Objective-C에서 자동 참조 카운트는 어떤 종류의 누출을 방지하거나 최소화하지 않습니까?
Mac 및 iOS 플랫폼에서 메모리 누수는 종종 해제되지 않은 포인터로 인해 발생합니다. 전통적으로 할당, 복사 및 보유를 확인하여 각각에 해당 릴리스 메시지가 있는지 확인하는 것이 항상 가장 중요했습니다. Xcode 4.2와 함께 제공되는 툴체인은 최신 버전의 LLVM 컴파일러 와 함께 ARC (Automatic Reference Counting)를 도입했습니다 . 그것은 매우 시원하며 불필요한 불필요한 …

8
API를 구현할 때 블록에서 자체 캡처를 피하려면 어떻게해야합니까?
작동하는 앱이 있고 Xcode 4.2에서 ARC로 변환하려고합니다. 사전 점검 경고 중 하나는 self유지 주기로 이어지는 블록에서 강력한 캡처를 포함 합니다. 문제를 설명하기 위해 간단한 코드 샘플을 만들었습니다. 나는 이것이 의미하는 바를 이해한다고 생각하지만 이러한 유형의 시나리오를 구현하는 "올바른"또는 권장되는 방법은 확실하지 않습니다. self는 MyAPI 클래스의 인스턴스입니다 아래 코드는 단순화되어 내 …

1
사용자 지정 할당 해제 및 ARC (Objective-C)
작은 iPad 앱에는 관찰자를 사용하는 "스위치 언어"기능이 있습니다. 모든보기 컨트롤러는 내 관찰자에게 자신을 등록합니다 viewDidLoad:. - (void)viewDidLoad { [super viewDidLoad]; [observer registerObject:self]; } 사용자가 "언어 변경"버튼을 누르면 새 언어가 내 모델에 저장되고 관찰자에게 통지되고 updateUi:등록 된 객체 에서 선택기를 호출 합니다. 이것은 TabBarController에 뷰 컨트롤러가있는 경우를 제외하고는 매우 잘 작동합니다. …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.