我很无奈。我解析了这段文字......
<parse>HELLO</parse>
<parse>World</parse>
<parse>digit</parse>
<parse>wow</parse>
<parse>hellonewitem</parse>
<parse>lastitem</parse>
使用NSScanner的实例:
-(NSMutableArray *)parseTest
{
if (parserTest != NULL)
{
NSScanner *scanner = [[NSScanner alloc] initWithString:parserTest];
NSString *test;
NSMutableArray *someArray = [NSMutableArray array];
while ([scanner isAtEnd]!=YES)
{
[scanner scanUpToString:@"<parse>" intoString:nil];
[scanner scanString:@"<parse>" intoString:nil];
[scanner scanUpToString:@"</parse>" intoString:&test];
[scanner scanString:@"</parse>" intoString:nil];
[someArray addObject:test];
NSLog(@"%@",test);
}
return someArray;
}
无法理解为什么我在返回的数组中获取最后一个对象两次。我错过了什么?是否有问题:
[scanner isAtEnd]!=Yes?
感谢您的帮助!
的Matthias
答案 0 :(得分:0)
检查someArray的计数,
NSLog(@"%d",[someArray count]);
如果它是6,那么你在打印值时做错了。
如果它是7,那么某处出现问题,需要进行排序
希望第一个条件成立。