-1

数値を格納するクラスを作成しました。数値は、int を取るメソッドを介して渡され、NSNumber * オブジェクトに保持されます。下記参照:

- (IBAction)memoryPlus:(UIButton *)sender {
    int result = [self.display.text intValue];
    [self.memory memoryPlus:result];
}

result は常に正しい値を取得しますが、memoryPlus:result は null を返します。メソッド呼び出しにブレークポイントを設定すると、デバッガーはメソッドに入らず、代わりにメソッドの最後に移動します。

以下の Memory .m ファイルは、結果の値を取得し、それをcalculatorMemoryStringに割り当てる必要がありますが、これは行われていません。

@interface CalculatorMemory()
@property(nonatomic,strong)NSString *calculatorMemoryString;
@end

@implementation CalculatorMemory

@synthesize calculatorMemoryString;

-(void)memoryPlus:(int)memoryValue{
    calculatorMemoryString=[NSString stringWithFormat:@"%d",memoryValue];
}

-(NSString *)memoryRecall{
    return calculatorMemoryString;
}

-(void)memoryClear{
    NSLog(@"CalculatorMemory: memoryClear called");
}

@end

どんな助けでも大歓迎です!

4

1 に答える 1

2

これは、self.memoryゼロであることを意味します。「何も起きていない」最大の原因は、あなたが伝えていることが何もないということです。

于 2013-10-04T16:35:24.747 に答える