소셜 미디어 IOS 앱 더미에 대한 자동 참조 계산 (ARC) 사용 방법

IOS 앱 더미에 대한 자동 참조 계산 (ARC) 사용 방법

비디오: Week 1, continued 2024

비디오: Week 1, continued 2024
Anonim

iOS 응용 프로그램에 ARC를 사용할 수 있습니다. ARC (Automatic Reference Counting)는 Objective-C 객체의 수명 관리 프로세스를 단순화하는 컴파일러 수준의 기능입니다. ARC는 객체를 유지하거나 해제 할 때를 기억하지 않고 객체의 수명 요구 사항을 평가하고 컴파일 타임에 적절한 메소드 호출을 자동으로 합성합니다.

새로운 런타임 메모리 모델이 아니며 가비지 수집기가 아닙니다. 모든 작업은 컴파일러에서 수행됩니다. ARC는 명명 규칙을 활용하여 (그리고 컴파일러가 시행하도록) 객체를 유지하고 해제하는 프로세스를 처리합니다. 또한 새로운 객체 포인터 소유권 한정자에 의존합니다.

ARC는 malloc () 및 free () (C 함수)를 자동화하지 않고 (CF) 또는 (CG)를 자동화하지 않습니다.

ARC는 메모리를 관리하기 위해 몇 가지 제한 사항을 적용합니다. 주로 모범 사례를 적용하고 다른 방법을 허용하지 않습니다. ARC를 사용하기 위해 만들어진 앱에서 대부분을 염려 할 필요가 없습니다.

다음은 앱에서 ARC를 사용하기 위해 따라야하는 규칙입니다.

규칙 1:

  • retain , release 또는 autorelease 메소드를 호출하지 마십시오. 또한 사용자 지정 또는 메서드를 구현할 수 없습니다. Objective-C 프로그래밍을 처음 사용하는 사람이라면이 규칙은 기존 앱에서 수행하지 않을 것이므로 사용자에게 아무런 의미가 없습니다. 이 규칙에 대해 알아야 할 유일한 이유는 메모리를 관리하기 위해 ARC가 아닌 코드가 무엇을하는지 이해하는 것입니다. 당신이 오래된 손이라면, 당신은이 방법들을 사용했을 것이고, 당신은 그것들을 사용하는 것이

    아니라고 이야기하게되어 기쁠 것입니다.

    다른 자원을 관리해야하는 경우 dealloc의 사용자 정의 구현을 제공 할 수 있습니다.

    규칙 2: C 구조체에 객체 포인터를 저장하지 마십시오.

  • 컴파일러는 참조가오고 갈 때를 알아야하기 때문에 구조체에 객체 포인터를 저장할 수 없습니다. 대부분의 독자는 C 구조체가 아닌 객체를 사용하기 때문에 문제가되지 않습니다. 규칙 3: Core Foundation 스타일의 객체를 사용할 때 컴파일러에 소유권에 대해 알립니다.

  • iOS 앱에서는 종종 CoreFoundation 프레임 워크를 사용합니다. CoreFoundation 객체는 예를 들어 주소록 기능과 같은 CF로 시작하는 모든 것입니다.CoreFoundation 객체는 다음과 같습니다.

    AudioServicesCreateSystemSoundID ((__bridge CFURLRef) burnRubberURL, burnRubberSoundID);

    ARC는 CoreFoundation 유형의 수명을 자동으로 관리하지 않으며 CFRetain 및 CFRelease (또는 해당 유형별 변형)와 같이 사용할 수있는 CoreFoundation 메모리 관리 규칙 및 기능이 있습니다.
    

    대개의 경우 Objective-C 객체를 CoreFoundation 유형 객체로 캐스팅하거나 CoreFoundation 유형 객체로 캐스팅하기 때문에 메모리 관리에 대해 걱정할 필요가 없습니다. 그 결과 CoreFoundation 메모리가 없게됩니다. 코드 관리 그래도 컴파일러로 하여금 메모리 관리에 대한 의미를 알리도록해야합니다.

    _ 브리지 캐스트를 사용하여 ARC에게 걱정하지 말라고 말하면됩니다.

    CoreFoundation 메모리 관리가있는 경우 CFBridgingRetain 또는 CFBridgingRelease와 같은 매크로가 ARC와 CoreFoundation간에 소유권을 이전합니다.

    규칙 4: autorelease 블록의 시작을 표시하려면

  • @autoreleasepool 키워드를 사용하십시오. 이것은 당신이 염려하거나 뭔가 할 일이 아닙니다. 그럼에도 불구하고 그것은 규칙입니다. 규칙 5: 명명 규칙을 따르십시오.

  • 컴파일러는 반환되는 객체를 기반으로 객체를 유지할지 여부를 알고 있습니다. 메서드에 의해 반환되는 객체가 유지되는 경우가 있으며 때로는 나중에 자동으로 다시 릴리스되기도합니다. 객체가 자동 릴리즈 될 경우 객체를 유지해야합니다. 이미 유지 된 경우 컴파일러에서 아무 것도하지 않기를 원할 것입니다. 컴파일러가 객체가 반환 될 때 보유되었는지 여부를 알 수있는 유일한 방법은 특정 명명 규칙을 사용하는 것입니다. ARC에서는 이러한 이름 지정 규칙이 이제 언어의 일부이므로 해당 규칙을 따라야합니다.

    selector

    의 첫 번째 부분 (메서드 이름)의 첫 번째 단어가 alloc, new, copy, muteable copy 또는 init 일 때 유지 된 객체가 반환되었음을 컴파일러에서 알 수 있습니다. 이 메소드는 소유권을 이전합니다. 여기서 소유권 이전 은 객체가 보유되었음을 의미합니다. 예가 NSString initWithFormat: 메소드입니다. "소유권"은 배타적 소유권이 아닙니다. 여러 객체가 동시에 하나의 객체를 소유 할 수 있습니다. 또한 속성의 이름은로 시작해서는 안됩니다. 규칙 6: 규칙 만 따르십시오.

    그게 전부입니다. 방출이나 자동 회수가 없습니다. 메모리 관리에 대한 걱정없이 마음의 내용에 규칙과 코드를 따르십시오.

  • 물론 어떤 상황에서는 컴파일러에게 원하는 것을 명시해야합니다. 이러한 경우 컴파일러에게 객체의 수명에 대해 명시 적으로 알려야합니다.

IOS 앱 더미에 대한 자동 참조 계산 (ARC) 사용 방법

편집자의 선택

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

판매를위한 크로스 플랫폼 참여는 Best Buy입니다. Best Buy는 모바일 쇼핑 및 소셜 쇼핑을 매장의 각 품목에 대한 QR 코드를 사용하여 매장 내 경험으로 가져 왔습니다. 고객은 상점의 각 항목에 대한 QR 코드를 스캔하여 리뷰를 포함한 더 많은 정보를 얻을 수 있습니다.

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그 또는 사이트에서 Google 웹 로그 분석 추적 통계를 사용하여 빠르고 쉽게 설치할 수 있습니다. 설치는 1 분 밖에 걸리지 않으며 완전히 고통스럽지 않습니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스와 대시 보드에서 로그인하십시오.

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

단 1 분이며 고통스럽지 않습니다. 곧 Google 애널리틱스 덕분에 잠자는 동안 소셜 미디어 측정 항목을 추적하게 될 것입니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스 및 대시 보드에 로그인하고 톱니 바퀴 아이콘을 클릭하기 만하면됩니다. ...

편집자의 선택

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

다 변수 테스트뿐만 아니라 요인 일정을 유지하고 다양한 시나리오에서 다른 결과를 테스트하여 마케팅 자동화 테스트를 수행하는 것을 의미합니다. 하나의 유료 검색 광고를 통해 사람들을 2 개의 개별 방문 페이지로 유도하는 것이 그 예입니다. 방문 페이지 테스트하기 ...

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

마케팅 자동화 도구의 사용을 극대화하기 위해 먼저 사람과 콘텐츠와의 관계를 이해해야합니다. 올바른 사람에게 올바른 콘텐츠를 보내는 경우에만 자동화가 유용합니다. 이를 올바르게 수행하는 방법에 대한 기본적인 이해를 돕기 위해 사람들은 두 가지 유형이 관련되어 있음을 인식해야합니다 ...

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

고객 관계를 관리하는 데 도움이되는 Microsoft 도구 현대 직장에서 가장 유용한 도구 중 하나는 전자 메일이므로 전자 메일을 만들고 읽거나, 전자 메일을 특정 레코드에 연결하거나, 일정을 관리하는 데 숙련되어 있어야합니다. ...

편집자의 선택

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

당신은 자신의 웹 사이트 또는 블로그를 가지고 있고, 고객, 독자 또는 웹 호스팅 기술에 의존하는 추종자 만 있습니다. 다음 팁은 웹 호스팅 계획을 최대한 활용하는 데 도움이됩니다. 제어판에서 백업 옵션을 확인하십시오. 일부 제어판을 사용하면 자동화 된 백업을 수행 할 수 있습니다. ...

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

은 웹 호스트만큼 멋지고, 웹 사이트를 디자인, 제작 및 운영하는 데 도움이되는 일에는 한계가 있습니다. 그것은 모두 돈으로옵니다. 귀하가 기꺼이 지불하는 한 귀하의 호스트는 기꺼이 도움이 될 것입니다. 각 호스트는 다릅니다. ...