강력한 속성 속성은 무엇입니까


80

개발자를 위해 Xcode 베타를 사용하고 있으며 미묘한 차이가 있음을 알고 있습니다. 그중에는 선언 된 속성에 대한 새로운 속성이 있습니다.

@property(strong)IBOutlet NSArrayController *arrayControl;

내 질문은 : 강한 속성은 무엇을 의미합니까 ?? 이전 버전을 대체합니까, 아니면 완전히 새로운 것입니까? Google과 개발자 문서를 검색했지만 아무것도 찾을 수 없었습니다. 그것이 무엇인지 알 때까지 나는 그것을 사용하는 것을 주저합니다.

미리 감사드립니다


1
정말 ... 여기 베타 NDA 물건에 대해 이야기 안된다
켄달 Helmstetter Gelner

3
글쎄, 그것의하지 메신저 멀리 기업 비밀을 제공하지만, 네, 아마 사과 dev에 포럼이를 했어야 같은
기회 허드슨을

객관적인 C 항목에 대한 "베타 NDA"의견이 계속 표시됩니다. 나는 애플이 객관적인 c의 비밀을 보호 할 필요성을 느끼고 (모든 사람들이 객관적인 c를 복사하려고 죽어 가고있다!), 개발자들이 사람들을 괴롭히는 필요를 느끼는 것을 더 재밌게 느낀다는 것을 알게되었다.
Jehan

답변:



10

강력한 참조는 할당 취소를 중지하는 개체에 대한 참조입니다. 즉, 소유자 관계를 생성합니다. 이전에는 다음과 같이했습니다.

**// Non-ARC Compliant Declaration
@property(retain) NSObject *obj;**

ARC에서 우리는 클래스 인스턴스가 참조 된 객체에 대한 소유권을 가지도록하기 위해 다음을 수행합니다 (즉, 소유자가 될 때까지 할당 해제 될 수 없음).

**// ARC Compliant Declaration
@property(strong) NSObject *obj;**

4

아시다시피 iOS 5의 ARC 기반 프로젝트에서는 어떤 개체도 해제 할 수 없습니다. 따라서 나중에 사용할 개체를 유지하고 ARC가 메모리에서 개체를 제거하지 않도록하려면 다음을 설정합니다. 개체의 속성을 "강함"으로 지정합니다.

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