-2

文字列「legCentimetres」の 2 つの値を個別に識別する必要があります

値の例は次のとおりです。

'15-18'

インチ計算を適用してから元に戻します。私が行ったことは、最初のビットを計算するだけのようですが、現時点では次のように出ています:-

15cm / 5.9インチ

しかし、次のようになります:-

15-18cm / 5.9-7.1in

これを機能させるには、以下のコードにどのような変更を加える必要がありますか?

- (NSString *)textForIndexPath:(NSIndexPath *)indexPath isTitle:(BOOL)isTitle {
    NSString *result = @"";
    double legCentimetres = [self.animal.legSpan doubleValue];
    double legInches = lcm / 2.54;
    switch (indexPath.row) {
        case 0:
            result = (isTitle)? @"Habitat" : self.animal.habitat;
            break;
        case 1:
            result = (isTitle)? @"Leg Span" : [NSString stringWithFormat:@"%dcm / %.1fin", (int)legCentimetres, legInches];
            break;
        default:
            break;
    }
    return result;
}
4

2 に答える 2

1
- (NSString *)textForIndexPath:(NSIndexPath *)indexPath isTitle:(BOOL)isTitle {
    NSString *result = @"";
    double legCentimetresMin = [[[self.animal.legSpan componentsSeparatedByString:@"-"] objectAtIndex:0] doubleValue];
    double legCentimetresMax = [[[self.animal.legSpan componentsSeparatedByString:@"-"] objectAtIndex:1] doubleValue];
    double legInchesMin = legCentimetresMin / 2.54;
    double legInchesMax = legCentimetresMax / 2.54;
    switch (indexPath.row) {
        case 0:
            result = (isTitle)? @"Habitat" : self.animal.habitat;
            break;
        case 1:
            result = (isTitle)? @"Leg Span" : [NSString stringWithFormat:@"%d-%dcm / %.1f-%.1fin", (int)legCentimetresMin, (int)legCentimetresMax, legInchesMin, legInchesMax];
            break;
        default:
            break;
    }
    return result;
}
于 2013-06-06T23:49:06.570 に答える