2011-08-07 30 views
0

このアプリでは過去数日間働いており、ついにはXMLデータがUITableViewに解析されました。しかし、主な問題は、表に表示されている実際のデータは、どのように表示するかではないということです。NSString stringWithFormat:数値の場合

たとえば、値が "134.9"(引用符なし)の要素を1つ(XMLファイル上に)持っていて、[NSString stringWithFormat:@ "£%@"、[prices objectAtIndex :indexPath.row]]; 'テーブルに '{Lowest = "134.9 \ n \ t"; } '。

しかし、私が '%d'を使用すると、それは134.9と一致しない乱数の束として現れますか?

ので、ここでのコードです:また

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{ 
    NSLog(@"ended element: %@", elementName); 

    if ([elementName isEqualToString:@"Fuel"]) 
    { 
     [item setObject:fuel_price forKey:@"Lowest"]; 

     [item setObject:fuel_type forKey:@"type"]; 

     [prices addObject:[item copy]]; 

     NSLog(@"adding fuel prices: %@ - %@", fuel_price, fuel_type); 
    } 

} 

<PetrolPrices> 
<Fuel type="Unleaded"> 
<Highest units="p">145.9</Highest> 
<Average units="p">135.2</Average> 
<Lowest units="p">131.9</Lowest> 
</Fuel> 
<Fuel type="Diesel"> 
<Highest units="p">149.9</Highest> 
<Average units="p">139.3</Average> 
<Lowest units="p">135.9</Lowest> 
</Fuel> 
<Fuel type="LRP"> 
<Highest units="p">136.9</Highest> 
<Average units="p">136.9</Average> 
<Lowest units="p">136.9</Lowest> 
</Fuel> 
<Fuel type="Super Unleaded"> 
<Highest units="p">152.9</Highest> 
<Average units="p">142.3</Average> 
<Lowest units="p">135.9</Lowest> 
</Fuel> 
<Fuel type="LPG"> 
<Highest units="p">76.9</Highest> 
<Average units="p">76.9</Average> 
<Lowest units="p">76.9</Lowest> 
</Fuel> 
<Link> 
</Link> 
</PetrolPrices> 

最後に、私はパーサーを使用してそれを呼び出すビット:XMLのセットアップ方法を

cell.textLabel.text = [NSString stringWithFormat:@"£%d", [prices objectAtIndex:indexPath.row]]; 

この誰かがXMLのように属性を取得する方法を教えてもらえれば<Fuel type="Unleaded">、私はできないようですこれを取得する。

事前に感謝:)

答えて

4

しかし、私は「%d」を使用する場合には、

% dはint型のための書式指定子ですが、あなたの乱数の束として起動しますオブジェクトを渡しています。数字だけを入力したい場合は、%dをそのまま使用して正しい値を入力してください:

Item *item = [prices objectAtIndex:indexPath.row]; 
cell.textLabel.text = [NSString stringWithFormat:@"£%d", item.price]; 

またはこれらの行に沿ったものは、オブジェクトによって異なります。

+0

ああ私は 'Lowest = xxx.x'を含んでいるため乱数をやっている理由を知っていますが、私は 'Lowest'というキーから取得していますが、XMLでは 'unit = "p"'私がそれを呼び出すとそれを解決するだろうか?唯一のことは、属性を取得する方法がわかりません。 – bennyyboi

0

String Format Specifiersをご覧ください。これにより、コーディングが容易になります。

+0

これはありがとう、私は私のブックマークに保管します:) – bennyyboi

関連する問題