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

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

7
이 블록에서 자기를 강력하게 캡처하면 유지주기가 발생할 수 있습니다
xcode 에서이 경고를 피하려면 어떻게해야합니까? 다음은 코드 스 니펫입니다. [player(AVPlayer object) addPeriodicTimeObserverForInterval:CMTimeMakeWithSeconds(0.1, 100) queue:nil usingBlock:^(CMTime time) { current+=1; if(current==60) { min+=(current/60); current = 0; } [timerDisp(UILabel) setText:[NSString stringWithFormat:@"%02d:%02d",min,current]];///warning occurs in this line }];

6
새로운 자동 참조 계산 메커니즘은 어떻게 작동합니까?
누군가가 ARC 작동 방식을 간략하게 설명 할 수 있습니까? 가비지 수집과는 다르다는 것을 알고 있지만 그것이 어떻게 작동하는지 정확히 궁금했습니다. 또한 ARC가 성능을 방해하지 않고 GC의 기능을 수행하는 경우 Java가 GC를 사용하는 이유는 무엇입니까? 왜 ARC도 사용하지 않습니까?

7
왜 @autoreleasepool이 ARC에 여전히 필요한가요?
ARC (Automatic Reference Counting)의 대부분은 Objective-C 객체를 사용하여 메모리 관리를 전혀 생각할 필요가 없습니다. NSAutoreleasePool더 이상 을 만들 수 없지만 새로운 구문이 있습니다. @autoreleasepool { … } 내 질문은 수동으로 릴리스 / 자동 해제하지 않아야 할 때 왜 이것이 필요할까요? 편집 : 모든 anwers 및 의견에서 간결하게 얻은 것을 요약하면 …

4
일부 파일에 대한 자동 참조 계산 비활성화
iOS 5 SDK를 다운로드했으며 ARC가 새로운 Apple 컴파일러의 훌륭한 기능이라는 것을 알았습니다. 당분간 많은 타사 프레임 워크는 ARC를 지원하지 않습니다. 새 코드에 ARC를 사용하고 현재 보유 / 릴리스 코드를 변경하지 않고 유지할 수 있습니까? JSONKit과 같은 일부 프레임 워크는 변환기를 사용하여 ARC로 변환 할 수 없으므로 ARC 변환기는 여기서 작동하지 …



3
아크와 브리지 캐스트
ARC으로, 나는 더 이상 캐스팅 할 수 없습니다 CGColorRef에 id. 브리지 캐스트를해야한다는 것을 알게되었습니다. clang 문서 에 따르면 : 브리지 캐스트는 C 스타일 캐스트는 세 가지 키워드 중 하나의 주석을 붙일 수 : (__bridge T) op피연산자를 대상 유형으로 캐스팅합니다 T. 경우 T 보존 가능한 개체 포인터 유형이 다음 op비 보존 …

7
ARC 가능 코드에서“이 블록에서 [오브젝트]를 강력하게 캡처하면 유지주기가 발생할 수 있습니다.
ARC 가능 코드에서 블록 기반 API를 사용할 때 잠재적 유지주기에 대한 경고를 수정하는 방법은 무엇입니까? 경고 : Capturing 'request' strongly in this block is likely to lead to a retain cycle 이 코드 스 니펫으로 생성됩니다. ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:... [request setCompletionBlock:^{ NSDictionary *jsonDictionary = [[CJSONDeserializer deserializer] deserialize:request.rawResponseData …

5
iOS5 SDK의 자동 참조 계산에 대한 몇 가지 질문
현재 iPad 용 앱을 개발 중입니다. 개발은 iOS 4.2에서 시작되었으며 현재 iOS 4.3에서 계속 진행 중입니다. iOS 5의 ARC에 대해 읽었으며 기본적으로 더 이상 객체를 해제하고 유지할 필요가 없다는 것을 이해했습니다. 내 질문은 : 나는에서 iOS 5로 업그레이드하기로 결정하면, 나는 모든 제거해야 할 [myObject retain]및 [myObject release]내 코드에서 문을? ARC를 …

2
ARC를 사용할 때 dealloc에서 속성을 nil로 설정합니까?
iOS 5에서 자동 참조 계산을 배우려고합니다.이 질문의 첫 부분은 쉽습니다. 그것이 내가 않는 것이 정확 하지 ARC를 사용하는 경우 내의 dealloc에서 명시 적으로 해제 재산권 문을 작성해야합니까? 즉, 다음은 않는 것이 사실이다 NOT 명시적인 할당 해제를해야합니까? @interface MyClass : NSObject @property (strong, nonatomic) NSObject* myProperty; @end @implementation MyClass @synthesize myProperty; …

1
여기서 "인스턴스 메시지가 전달 선언 인 경우 수신인 유형 'CALayer'"는 무엇을 의미합니까?
iOS4 프로젝트에서 iOS5로 코드 블록을 이식하고 있는데 ARC에 문제가 있습니다. 코드는 화면 캡처에서 PDF를 생성합니다. PDF 생성 코드 UIView *captureView; ... NSMutableData *pdfData = [NSMutableData data]; UIGraphicsBeginPDFContextToData(pdfData, captureView.bounds, nil); UIGraphicsBeginPDFPage(); CGContextRef pdfContext = UIGraphicsGetCurrentContext(); [captureView.layer renderInContext:pdfContext]; UIGraphicsEndPDFContext(); renderInContext 라인 [captureView.layer renderInContext:pdfContext]; 다음 오류를 생성합니다. Automatic Reference Counting issue Receiver type …

3
어떤 상황에서 ARC에서 __autoreleasing 소유권 한정자를 작성해야합니까?
퍼즐을 풀려고합니다. __strongNSObject, NSString 등과 같은 모든 Objective-C 유지 가능 개체 포인터의 기본값입니다. 강력한 참조입니다. ARC -release는 범위의 끝에서 균형을 유지합니다 . __unsafe_unretained옛날 방식과 같습니다. 유지 가능한 개체를 유지하지 않고 약한 포인터에 사용됩니다. __weak__unsafe_unretained참조 된 객체가 할당 해제 되 자마자 포인터가 nil로 설정된다는 것을 의미하는 자동 영점 약한 참조라는 점을 …

6
iOS5의 강하고 약한 저장소에 대한 설명
저는 iOS5 개발이 처음이고 objective-c를 사용합니다. 차이점을 이해하는 데 어려움이 있습니다.저장 용량의 강함 과 약함 있습니다. 문서 및 기타 SO 질문을 읽었지만 더 이상 통찰력이 없으면 모두 동일하게 들립니다. 나는 읽었다 문서를 습니다. Transitioning To ARC -iOS4의 보유, 할당 및 릴리스 약관을 참조합니다. 저를 혼란스럽게합니다. 그런 다음 Open U CS193p를 …

6
ARC로 또는 ARC로? 장단점은 무엇입니까? [닫은]
닫힘 . 이 질문은 더 집중되어야 합니다. 현재 답변을 받고 있지 않습니다. 이 질문을 개선하고 싶으십니까? 이 게시물 을 편집 하여 한 가지 문제에만 집중하도록 질문을 업데이트하십시오 . 휴일 육년 전 . 이 질문 개선 현재 작업중인 프로젝트의 대부분의 코드가 iOS 5.0 이전에 작성 되었기 때문에 아직 ARC를 사용하지 않았습니다. …

3
팝 오버가 여전히 표시되는 동안 UIPopovercontroller dealloc에 ​​도달했습니다.
나는 내 질문에 대한 대답을 찾았지만 그들 중 어느 것도 도움이되지 않았다고 확신합니다. 여기서 나는을 제시해야합니다 간단한 코드를 가지고 UIImagePickerController내를 UIPopoverController: -(void)takePicture:(id)sender{ UIImagePickerController *picker=[[UIImagePickerController alloc] init]; picker.delegate=self; picker.sourceType=UIImagePickerControllerSourceTypeCamera; picker.allowsEditing=YES; UIPopoverController *poc=[[UIPopoverController alloc] initWithContentViewController:picker]; [poc presentPopoverFromBarButtonItem:bbItem permittedArrowDirections:UIPopoverArrowDirectionAny animated:NO]; } 이제는 처음부터 [UIPopoveController dealloc]... 오류가 발생하고 프로그램이 충돌합니다. ARC에 따라 유지, 해제 …

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