【发布时间】:2025-12-09 22:35:02
【问题描述】:
我编写了这段代码来重新加载 UItableView,其日期与用户单击主视图控制器中今天的事件 UIButton 时的当前日期相同,但问题是下面的代码没有重新加载正确的数据(它只是给出了初始数据,没有将事件的日期与 iPhone 中的日历日期进行比较),我的数据来自项目中的一个 json 文件,由事件的 NSArray 组成,每个键都有不同的值和其中一个键是该事件的数据(“日期”),谁能帮我澄清一下为什么下面的代码没有返回正确的数据??
@implementation MainViewController {
NSArray *_events;
}
....
- (IBAction)upcomingEvents:(id)sender {
NSDate *currDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd-MM-YYYY"];
NSString *dateString = [dateFormatter stringFromDate:currDate];
for (Events *event in _events){
if([event.date isEqualToString:dateString]){
[self.myTableView reloadData];
}
}
}
【问题讨论】:
-
如果
_events是您的数据源,那么您只需过滤数组,然后将reloadData消息发送到您的tableview 以进行刷新。现在你只是在刷新你的 tableview 而不对你的数据源数组做任何改变。 -
@Alladinian 以及如何过滤数组?? (我对 Xcode 和 Objective-C 很陌生)
标签: ios objective-c json uitableview xcode4.6