2011-10-23 2 views
0

objective-c에서 .m 파일에 int 또는 bool 등을 넣을 수 있습니다. 외부에이 있습니다. 그게 제가 수업 시간에 그런 변수를 사용할 수있게 해줍니다.인터페이스 또는 구현 내에서 변수 선언?

같은 변수를 인터페이스 블록 안에있는 .h 파일에서도 선언 할 수 있습니다.

글쎄, 내 질문은 : 차이점은 무엇입니까? 거기 있니? 아니면 모두 조직의 문제입니까?

답변

2

첫 번째 경우에는 .m 파일에서 우울한 변수가되고 인터페이스의 모든 인스턴스간에 공유됩니다. 두 번째 경우에는 여러 인스턴스에 대해 분리됩니다. 일반적인 방법은 인터페이스 변수를 인터페이스에 선언하는 것입니다.

3

두 번째 경우에는 외부 연결이있는 전역 변수입니다. 의미, 그것은 extern 키워드를 사용하여 다른 번역 단위/소스 파일에 액세스 할 수 있습니다. 하지만 첫 번째 경우에는 인터페이스의 일부이므로 액세스 지정자에 따라이 인터페이스에서 파생 된 멤버 함수 및 기타 인터페이스에서만 사용할 수 있습니다.