19

ARC를 사용할 때 원시 데이터 형식 (예 : bool)에 대해 합성 된 속성을 작성하는 올바른 방법이 무엇인지 궁금합니다.ARC를 사용하여 원시 데이터 유형에 대한 합성 속성 - weak 또는 할당?

@property(assign) bool isOn; 

을하지만 ARC가 활성화되어있을 때 assign을 사용하지 말아야하는 (아마도 잘못)에 대한 이해입니다 :

나는 ARC 전에 이것을 사용하는 데 사용됩니다. 나는 이것을 weak으로 대체하려고 시도했지만 오류가 발생했습니다. -

"weak"속성의 속성은 type 객체 여야합니다.

assign을 계속 사용해야합니까?

답변

29

Assign입니다. ARC는 "Automatic Reference Counting (자동 참조 횟수)"의 약자이며 원시 데이터 유형에는 참조 횟수가 없습니다.

Weak 개체가 없기 때문에 실패했으며 관리 할 ARC 참조가 없습니다.

+0

그래서 assign은 weak에 대한 완벽한 동의어가 아닙니다. 그러나 다시 약한 것이 기본 권리입니까? –

+0

기본적으로 ARC는 매우 강력합니다. – deimus

+0

"Assign is fine"나는 계속 읽고 있습니다. 그것은 그것에 좋은 운율을 가지고 있지만, 요점을 회피하는 것 같다 : "할당"필요합니까!? "할당"을 사용하지 않으면 어떻게됩니까? – Rhubarb

0

ARC를 사용하면 (예 : BOOL)과 같은 기본 데이터의 합성 속성을 쓸 수 있습니다. @property (unsafe_unretained) bool isOn;