)값 할당 : 속성과 클래스 변수의 차이점은 무엇입니까?
그래서 나는 보통 수행
NSMutableArray *myArray; // not a property !
내 질문은 : 경우에도 난 아이폰이 나는 그렇게 생각하지만 난 그냥 확인하고 싶었
myArray = arrayPassedToMe;
을한다면 어쨌든 유지할 수 있도록 않는, 속성으로 myArray의 선언하지 않습니다)
어떤 생각이라도 환영합니다! 고티에
)값 할당 : 속성과 클래스 변수의 차이점은 무엇입니까?
그래서 나는 보통 수행
NSMutableArray *myArray; // not a property !
내 질문은 : 경우에도 난 아이폰이 나는 그렇게 생각하지만 난 그냥 확인하고 싶었
myArray = arrayPassedToMe;
을한다면 어쨌든 유지할 수 있도록 않는, 속성으로 myArray의 선언하지 않습니다)
어떤 생각이라도 환영합니다! 고티에
당신이 다음 더 호출이됩니다 유지 '유지하지'와 속성을 선언하지 않으면
. 유지하지만 당신이 수동을 수행 할 수 있습니다 (이 메모리 관리 훨씬 더 간단하게, 모든 경우에 대한) 속성 접근을 사용하는 것이 일반적으로 바람직하다 같은 :
myArray = [otherArray retain];
다만,이 경우에는 케빈의 대답에 추가하는 방법 또한 확인해야한다는 것을 의미 당신이 그것에 새로운 값을 할당하기 전에 myArray의 현재 해제 가리키는되는 기존의 객체 : 유지와
[myArray release];
myArray = [otherArray retain];
당신이 선언 된 속성을 통해 클래스 변수에 액세스,이 모든 물건을/메모리를 공개하면 자동으로 수행되므로 삶이 훨씬 쉬워집니다.
그래서 이해한다면, 내가 방금하면 myArray = otherArray; myArray는 otherArray에 대한 참조일까요? 그래서 만약 otherArray가 해제되면, myArray는 자동으로 해제됩니다. otherArray가 수정되면 myArray도 수정됩니까? – gotye
예, AFAIK 그 진술은 단순히 참조를 만듭니다. 너가 주변에 끈 것에 사로 잡히지 않는 경우에, 너는 그것을 '붙들어 야한다. – Rengers