나는 잠시 동안이 펜스에서 일종의 종류 였지만 Objective-C 클래스 구현 내에서 인스턴스 변수에 직접 액세스하는 것에 대해 사람들이 생각하는 것을 알고 싶습니다.클래스 구현 내에서 직접 Ivars에 액세스해야합니까?
접근 자 및 변형자를 사용하면 많은 일들이 쉬워 지지만 단순한 경우에는 인스턴스 변수에 직접 액세스하는 것이 좋지 않습니까? 개인 인스턴스 변수에 대한 모범 사례가 다른가요?
나는 잠시 동안이 펜스에서 일종의 종류 였지만 Objective-C 클래스 구현 내에서 인스턴스 변수에 직접 액세스하는 것에 대해 사람들이 생각하는 것을 알고 싶습니다.클래스 구현 내에서 직접 Ivars에 액세스해야합니까?
접근 자 및 변형자를 사용하면 많은 일들이 쉬워 지지만 단순한 경우에는 인스턴스 변수에 직접 액세스하는 것이 좋지 않습니까? 개인 인스턴스 변수에 대한 모범 사례가 다른가요?
항상 접근 방법을 사용하는 경우, 특히 이러한 방법이 합성되는 경우 메모리 관리가 올바르게 처리된다는 것을 확신 할 수 있습니다. 즉, 기본 유형의 ivars에 액세스하는 것에 대해 이야기하고 있다면 인스턴스 메소드 구현 내에서 직접 사용하는 것이 무엇이든 해를 끼치 지 않습니다.
미안하지만 항상 클래스에서 속성을 사용하여 ivars에 액세스하는 것에 동의하지 않아야합니다. 보통 경우
: 1. 속성이 원자하지 않고, 2. 속성이 복잡한 논리를 가지고 있지 않습니다. (일명 만 합성 속성이 있습니다) - 다음은 속성을 사용 할 필요가 없다. 직접 ivar를 사용하십시오.
속성이 원 자성 인 경우 분명히 getter와 setter를 모두 사용해야합니다. 그러나 항상 setter를 사용하는 것이 매우 편리합니다 ...
귀하의 기여에 감사드립니다! 나는 지난 몇 년 동안 당신의 관점에 기대고있었습니다. 특히 ARC와. –
나는 항상 속성을 사용하는 것에 동의하지 않습니다. 이유는 내 대답을 참조하십시오. – Moszi