공용 머리글에서목표 -C : 개인이 아닌 것은 무엇인가?
@interface ViewController : UIViewController
{
@private
UIButton* button_;
}
@private 선언을 사용하는 사람들이 왜 그렇습니까? 구현 내에서 변수를 선언하면 동일한 결과가 나타납니다. 그렇습니까? 나에게는 이상한 느낌이 들었습니다. 공개 머리글에는 공개 된 멤버 만 포함되어야한다고 생각했습니다. 보호 된 회원들과해야 할 일?
@implementation ViewController
UIButton* button_;
@end
내가 아는 유일한 차이점은이 변수는 현재 컴파일 단위 (.m 파일, 오른쪽?) 밖에 볼 수 없다는 것입니다.
메소드가 동일하게 유지됩니까? 나는 적절한 방법으로 명령을 컴파일하거나 선언을 전달하여 잘 컴파일 할 수있다. 왜 사람들은 사적 방법을위한 범주를 선언하는 것을 신경 쓰는가? 테스트 목적으로 만 사용 하시겠습니까?
그게 내가 기대하는 것이 아니다! 그것은 또한 정적이라는 것을 의미합니까? –
필자는 그렇지 않다고 생각합니다. 이는 선언하는 'C'방식의 전역 변수 일뿐입니다. 'Objective-C'는'C'의 엄격한 수퍼 세트이므로 모든'C' 규칙이 여전히 적용된다는 것을 기억하십시오. – pgb
나는 이것이 글로벌 변수라는 것을 확인했다. 난 비 정적 변수 _inside_ @implementation을 선언 할 때 컴파일러가 경고를 발행하지 않습니다 놀랍군요 –