私は書きます:
NSNumber *aNumber = [NSNumber numberWithInt: 0];
NSNumber *bNumber = [NSNumber numberWithInt: [aNumber intValue] + 5];
aNumber is undeclared on the line of bNumber という警告が表示されるのはなぜですか?
編集:
これらのコード:
NSNumber *aNumber = [NSNumber numberWithInt: 0];
NSNumber *bNumber = [NSNumber numberWithInt: [aNumber intValue] + 5];
return [NSString stringWithFormat:@"%ld", (long)bNumber];
メソッドで使用されます。
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
aNumber の行では、「Expected expression」という苦情が表示され、bNumber の行では、「Unknown receiver 'aNumber'; did you mean NSNumber?」というメッセージが表示されます。どうしてこんなことに?
編集2:
switch (component){
case 0:
NSNumber *aNumber = [NSNumber numberWithInt: 0];
NSNumber *bNumber = [NSNumber numberWithInt: [aNumber intValue] + 5];
return [NSString stringWithFormat:@"%ld", (long)bNumber];
break;
case 1:
//....
break;
case 2:
//....
break;
}
switch ステートメント内で何も宣言できないと思いますか?