저는 Objective-C 초보자이며 전역 변수를 사용하려고합니다. 나는이 질문에 100 번이나 물었다는 것을 압니다. 그러나 그 답 중 아무 것도 나를 위해 일하지 못했습니다. 한 클래스에서 BOOL 변수를 선언하고 다른 변수에서 값을 확인하려고합니다. SController.h : 이것은 내가 함께 일하고 있어요 무엇전역 변수를 정확히 사용하려면 어떻게해야합니까?
@interface SController : UIViewController {
BOOL leftSide;
BOOL rightSide;
}
SController.m :
- (void)viewDidLoad {
leftSide = YES;
rightSide = YES;
}
지금, 나는에 BOOLs의 값에 액세스하는 데 노력하고있어 클래스 :
#import "SController.h"
@interface VViewController : UIViewController
{
}
그리고 VViewController의하는 .m :
- (void)viewDidLoad {
// See what the BOOL values from SController are.
}
내가 시도한 것 : SController.h의 BOOLs 선언 앞에 "extern"을 넣으려고했으나 작동하지 않았습니다. 나는 단순히 SControllers 헤더 파일을 VViewController로 가져와 보았습니다. 그리고 그 중 하나는 작동하지 않았습니다. 나는 Objective-C와 프로그래밍에 익숙하지 않기 때문에 이런 기본적인 개념을 고수하는 데 어려움을 겪고 있습니다. 나는 전역 변수를 사용하여 주변의 잠재적 인 문제를 이해하지만이 프로그램은 매우 작고 개인적인 용도로 사용됩니다. 누군가가 이런 일이 일어나기 위해 무엇을 바꿀지를 보여줄 수 있다면 그것은 좋을 것입니다.
이 전역 변수 만, 인스턴스 변수 수 없습니다. 전역 변수를 선언하려면 클래스 선언 외부의 헤더 또는 구현 파일에 선언하십시오. –
@RamyAlZuhouri 오, 고마워. 왜 그 대답이 나에게 도움이되지 못했는지 설명해 줄거야. 나는 그에게 총을 줄 것이다. – John
SController에서 두 개의 속성을 정의해야합니다. VViewController에서는 delegate.leftSide 및 delegate.rightSide와 같은 확인합니다. delegate는 SController의 객체입니다. – stosha