所以我想解析一个 xml 并根据“类(class)”按升序显示(在 UITableView 中)“主题”
XML:
<parfumeo_kkn>
<tt_timetable>
<id>1015</id>
<day>1</day>
<class_id>98</class_id>
<lesson>9</lesson>
<teacher>bt</teacher>
<room>V1.2</room>
<subject>M</subject>
<pr_id>54</pr_id>
</tt_timetable>
<tt_timetable>
<id>1014</id>
<day>1</day>
<class_id>98</class_id>
<lesson>8</lesson>
<teacher>bt</teacher>
<room>V1.2</room>
<subject>bg</subject>
<pr_id>54</pr_id>
</tt_timetable>
等等。
(在这个小例子中,“M”之前会有“bg”。)我已经设置了我的解析器,但它没有按照我想要的顺序工作。 感谢帮助
最佳答案
您应该将解析器的逻辑与如何在 TableView 中显示结果分开。解析器只是完成解析 xml 的任务, TableView 的 Controller 将通过使用 NSSortDescriptor 对解析器的结果进行排序来执行一些额外的任务,示例如下:
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"lesson" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
是的,之前我假设你正在使用 Core Data,如果你只有一个普通数组,那么你可以简单地调用:
NSArray *myArray = [xmlResultArray sortedArrayUsingDescriptors:sortDescriptors];
现在您可以使用 myArray 来填充您的 TableView Controller 。
希望这对您有所帮助!
关于iphone - 如何对从 XML 解析的对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3941009/