switch文の中に新しいローカル変数を作成する際に問題が発生しているようです。私はそれが私のクラスのヘッダーの中にあるものだと思っていましたが、新しいNSObjectを割り当てようとしてもエラーが発生しました。ここに私の構文は次のとおりです:Objective-Cのswitch文とインスタンス変数の割り当て
-(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'行の直後に置くことができます。 –