0

我输入了一些文本以textfields显示在labels肥皂的某些字段上。当“显示多少站”输入2 textfield

<stationName>ABC</stationName>
<stationName>XYZ</stationName>

我想在labels.

我有 2 个标签。Label1Label2

如果站名的计数大于 2label1则等于label2名1和站名 2

如何检查站名的计数并显示在 2 个标签上?

此代码仅在标签上显示一个站点。

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName    namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{

    if ( [elementName isEqualToString:@"stationName"] ) {
        if (!retornoSOAP) 
        {
            retornoSOAP = [[NSMutableString alloc] init];
        }
        teveRetorno = YES;
    }
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    if (teveRetorno) 
    {
        [retornoSOAP appendString:string];
    }
}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
    if ( [elementName isEqualToString:@"stationName"] ) 
    {
        Label1.text = retornoSOAP;
        retornoSOAP = nil;
        teveRetorno = NO;

        NSLog(@"LOG Message = %@", retornoSOAP);
    }
}
4

1 回答 1

1

您不保存结果以供演示吗?这将是一个可能的点,您可以使用 array.count 进行查找。

parse:didStartElement否则,您可以通过计数器扩展您的方法

int numberOfStations = 0;

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{

    if ( [elementName isEqualToString:@"stationName"] ) 
    {
        numberOfStations++;

        if (!retornoSOAP) 
        {
            retornoSOAP = [[NSMutableString alloc] init];
        }
        teveRetorno = YES;
    }
}
于 2013-06-06T14:59:54.307 回答