我正在读取XML数据并创建对象,但我需要将一些对象变量作为浮点数。使用- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
它显然变成了一个字符串,我的浮点变量将设置为0.000000。
在- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
中我在设置对象的值时尝试了类似的东西,但它显然是不兼容的类型,因为setValue想要一个(id)键(我只是意识到temp总是设置为0.000000,所以floatValue也不起作用。)
if([elementName isEqualToString:@"longitude"])
{
float temp = [currentElementValue floatValue];
[myObj setValue:temp forKey:elementName];
}
有没有人知道如何解决它,或者我只需要在我的对象中将其设置为NSStrings并在之后将其转换为浮点数?
答案 0 :(得分:1)
解析时只需将其保存为字符串即可。然后,当你需要它进行计算时,将其转换为a
如上所述,使用[NSString floatValue]
浮动。
但是我认为float
无法保留NSString
次返回的值,因此请尝试使用您的临时值作为CGFloat
。
xml无法保存其他字符串,因此这种方法没问题。