iphone - 如何在 UITableview 的部分中对 NSarray 进行排序

标签 iphone xcode uitableview

嗨,我如何按天对数组进行排序,我从我的网络服务器(Json)获取数据并解析为 NSDictionary,然后保存到 NSMutableArray...我知道我需要实现

  • (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  • titleForHeaderInSection:
  • 部分行:

NSMutableArray 日志

2012-04-26 06:12:51.256 passingdata[91699:fb03] array : (
{
post =         {
    "CLASS_LEVEL" = "Intro/General";
    "CLASS_TYPE" = "Muay Thai";
    "DAY_OF_WEEK" = Sunday;
    ID = 19;
    "ORDER_BY" = 5;
    TIME = "1:00pm - 2:30pm";
};
}
{
post =         {
    "CLASS_LEVEL" = "General/Intermediate/Advanced";
    "CLASS_TYPE" = "Muay Thai Spar - Competitive";
    "DAY_OF_WEEK" = Friday;
    ID = 27;
    "ORDER_BY" = 5;
    TIME = "6:00pm - 9:00pm";
};
},
{
post =         {
    "CLASS_LEVEL" = "Fighters/Advanced/Intermediate";
    "CLASS_TYPE" = "Fighters Training";
    "DAY_OF_WEEK" = Monday;
    ID = 1;
    "ORDER_BY" = 1;
    TIME = "9:30am - 11:00pm";
};
},

我可以显示表格上的所有数据,但我想按每天的部分进行操作(周一、周二、周三、周日),我已经尝试过 NSpredicate 和 NSSet 但仍然无法正常工作。

我不知道如何按天对项目进行分组并获取所有信息来实现所有方法。

有什么想法吗?谢谢

最佳答案

您应该使用NSPredicate类。

这是你应该做的:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"DAY_OF_WEEK MATCHES %@",@"Monday"];
NSArray *sections = [tableData filteredArrayUsingPredicate:predicate];

谓词格式不应对日期进行硬编码,而应循环所有日期并创建包含每天结果的数组。

关于iphone - 如何在 UITableview 的部分中对 NSarray 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10430311/

相关文章:

iphone - 将 `UITableViewCell`分成几部分

ios - 圆角不适用于除 iPhone XS max 和 XR 以外的所有模拟器

ios - 警告 : Presenting view controllers on detached view controllers is discouraged

ios - 我们如何使用 swift 在 UITableView 部分标题中添加图像?

ios - 默认情况下直接添加到数组

swift - trailingSwipeActions 和旋转问题

swift - ios13 中未调用丰富通知扩展

iPhone:在多 View Controller 中隐藏/显示状态栏的问题

objective-c - 为什么选择 Emacs/Vim/Textmate? Xcode 还不够好吗?

iphone - 当 iDevice 使用 3G/UMTS/Edge 时检测已建立的 VPN