switch 문 안에 새로운 로컬 변수를 만드는 데 문제가있는 것 같습니다. 내 수업 헤더에 뭔가 있다고 생각했지만 새로운 NSObject를 할당하려고 할 때 오류가 발생했습니다. 여기 내 구문입니다 :Objective-C에서 switch 문과 인스턴스 변수 할당
다음과 같이 선언 "OBJ"외부 스위치 문에, 또는 괄호를 사용하거나 필요-(NSArray *)charactersFromChapter:(NSInteger)number {
NSObject *noError = [[NSObject alloc] init];
//line above does not cause error
NSArray *characters;
switch (number) {
case 1:
NSObject *obj = [[NSObject alloc] init];
//error happens in line above (Expected expression)
characters = [NSArray arrayWithObject:obj];
break;
case 2:
break;
case 3:
break;
}
return characters;
}
주, 사람들은 '인스턴스 변수는'하지 않습니다. ivar은 인스턴스 변수로, 헤더 파일에 선언합니다. 이것들은 단순히 지역 변수입니다. C 표준위원회가 시도한 스타일을 허용하면 좋을 것입니다. –
설명해 주셔서 고맙습니다. 질문을 수정하겠습니다. – Justin
@GrahamPerks : Ivars는 헤더에 더 이상있을 필요가 없습니다. '@ implementation' 라인의 직후에 위치 할 수 있습니다. –