현재 Objective-C의 메모리 관리 및 속성에 대해 배우고 있습니다. 최근에 @property
및 @synthesize
이 어떻게 Objective-C에서 작동하는지에 대해 this post과 answers to my previous question을 읽었습니다. 이것은 다소 사물을 분명히했습니다.Objective-C의 로컬 변수 대 멤버 변수
로컬 변수와 멤버 변수를 메모리 관리 측면에서 구별하는 것이 중요하지만 여전히 주제에 대해 완전히 명확하지는 않습니다.
내가있는 경우 :
@interface FooClass : NSObject {
NSObject *bar_;
}
가 왜 재산을 작성해야합니까? 내 말은, 그 재산이 게터와 세터를 창조한다는 것을 이해하지만 그게 뭐야? foo.bar_ = newObject;
을 사용하여 설정할 수있는 인스턴스 변수 bar_
이 있습니다. 어떤 이점이있어서 bar
이라는 속성을 갖고을 foo.bar = newObject
으로 설정하면됩니까?
호기심에 서 어떻게 ivar을 공개로 설정합니까? –
'@interface SomeClass : ParentClass { @private id _privateVar; @ public id _publicVar; }' – Denis