2

我有这种方法,我尝试在“_result”中设置结果。如果我使用格式化字符串将其分配给“_result”,则会出现错误“未使用的表达式结果”。如果我使用纯字符串作为@“完成”,则错误不会出现,并且 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 回答