[IOS] Objective-C

[objective-c] 변수 선언

최고관리자
2018.10.23 15:54 1,989 0

본문

[objective-c] 변수 선언



@property 선언과, m 파일에서 NSString *strUrl로 선언 차이



property 는 그 클래스의 인스턴스를 가지고 있을 때 외부에서 접근을 할 수가 있다.

예를 들면 view.backgroundColor 와 같은 형태.

property가 아니라면 backgroundColor 라는 함수와 setBackgroundColor: 라는 함수를 각기 만들고,

사용하실 때도 항상 [view backgroundColor] 또는 [view setBackgroundColor:[UIColor redColor]] 같은 형태로 써야 한다.

하지만 property 라면 view.backgroundColor 또는 view.backgroundColor = [UIColor redColor] 처럼 쓸 수도 있다.



프로퍼티로 선언하면 getter와 setter가 자동으로 만들어지고

자동으로 만들어지는 언더바가 붙는 변수는 캡슐화 하여 사용하겠다는 말이다.

프로퍼티로 선언할 때 붙는 각종 attributes로 프로퍼티의 속성을 결정 한다.


==================================================================================



클래스 내부에서 선언한 내부 변수를 써도 상관없습니다만,


Property로 선언한 변수는 좀 다른 의미가 있습니다.



지금은 ARC 환경이라서 메모리 관리를 하려고 일부러 사용하지는  않지만,


  - 클래스 전역에서 사용하려는 경우


  - 외부 액세서로 제공하는 경우


  - Getter/Setter가 필요한 경우


  - Key Value Coding으로 사용하려는 경우


  - Lazy Loading을 구현하려는 경우 




등등의 이유가 생각납니다.


이런 경우 에는 한번쯤 고민할 필요가 있을 것 같습니다.



복잡한 내용은 다 빼고,


가장 중요한 것은 아무래도, 


목적에 맞게 적합한걸 쓰면 되겠다.

댓글목록 0

등록된 댓글이 없습니다.