2

「_result」に結果を設定しようとするこのメソッドがあります。書式設定された文字列を使用して「_result」に割り当てると、「式の結果が未使用です」というエラーが表示されます。@" done" のようにプレーンな文字列を使用するとエラーは表示されず、NSlog は文字列を正しく出力して問題を引き起こします。これを修正する方法はありますか?ありがとうございました!

@property (nonatomic) NSString * result;

@synthesize result = _result;

- (NSString *) _result
{
    if (!_result) {
        _result= [[NSString alloc] initWithFormat:@"Could not compare %e"];
    }
    return _result;
}

- (NSString *) comparePrice:(double) price_one to_price2:(double) price_two;
{
    if (price_one > price_two) {
        NSLog(@"LOG result is %e ",price_one);
        _result = @"result is %e ",price_one;
        _result = @" done";
    }
    return _result;
}
4

1 に答える 1

0

あなたのエラーはこの行にあります:

_result = @"result is %e ",price_one;

price_oneコンパイラは、" " ビットをどう処理するかを知りません。書式文字列を使用しようとしていることをコンパイラに指示する必要があります。

そのコード行を次のように変更します。

_result = [NSString stringWithFormat: @"result is %e ",price_one]; 

そしてあなたは良いはずです。

于 2012-11-17T17:54:36.410 に答える