【发布时间】:2011-04-07 18:10:48
【问题描述】:
我正在编写一个 iPhone 应用程序,它应该解析来自网络的平面文件,从平面文件创建托管对象,然后应该在 UITableView 中显示它们。 保存和显示都没有问题,但我就是无法掌握一个好的解析器。
这就是我要解析的文件: Flat-file
据我所知,我不能使用 NSXMLParser 来完成这项任务(因为显然没有标签)。
所以我一开始尝试编写一个 NSScanner 来获得有趣的属性 --> 没有成功
现在我正在使用这种方法:
- (void) parseMemberDataWithURL: (NSString *)urlString
{
self.memberTempCounter = 1;
//Get data from web
self.downloadedText = [NSString stringWithContentsOfURL: [NSURL URLWithString: urlString] encoding:NSUTF8StringEncoding error:nil ];
memberArray = [downloadedText componentsSeparatedByString:@";"];
while (self.memberTempCounter<[memberArray count])
{
[[ExhibitorController sharedController] createExhibitorWithName:[memberArray objectAtIndex:self.memberTempCounter]
street:[memberArray objectAtIndex:self.memberTempCounter+2]
zip:[memberArray objectAtIndex:self.memberTempCounter+3]
city:[memberArray objectAtIndex:self.memberTempCounter+4]
email:[memberArray objectAtIndex:self.memberTempCounter+7]
phone:[memberArray objectAtIndex:self.memberTempCounter+5]
website:[memberArray objectAtIndex:self.memberTempCounter+8]
produktbereiche:[[memberArray objectAtIndex:self.memberTempCounter+9] componentsSeparatedByString:@","]];
self.memberTempCounter= self.memberTempCounter+13;
}
}
我正在使用 memberTempCounter 来识别属性。
问题是:
- 这仅适用于 4 次中的 3 次。应用程序崩溃 4 次中的 1 次,我不知道为什么...
- 该方法的性能类似于 1962 年大众甲壳虫。在我的 iPhone 3G 上解析整个数据块最多需要 3 分钟
有任何想法或更简单的方法吗?
我将非常感激。提前致谢:-)
【问题讨论】:
-
啊差点忘了:Device creshs with:: Unknown thread crashed with unknown flavor: 5, state_count: 1 好像是内存问题???
标签: iphone performance parsing flat-file