0

我对 Xcode 和 Objective-C 很陌生,我正在尝试构建这个关于事件的应用程序,我的 mainViewController 中有两个按钮,一个用于显示今天的事件,另一个将显示任何未来的事件,我的数据来自一个 json 文件 [其中将包括几个键,其中一个是事件的日期] 以及我考虑应用程序如何通过将事件日期与应用程序中的日历日期匹配来显示这一点的方式,并且我使用了以下代码:

 @implementation MV_HomeViewController {
 NSArray *_events;
 }



.....
.......
 - (IBAction)upcomingEvents:(id)sender {

 //  Events *event = [_events object:.row];

//Events *event = [_events objectForKey:@"Events"];

NSDate *currDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"dd-MM-YYYY"];
NSString *dateString = [dateFormatter stringFromDate:currDate];

if([_events objectForKey:@"date"] != dateString){

    [[self myTableView] reloadData];
 }

}

但它给了我一个错误@ [_events objectForKey:@"date"] 这是完全有道理的,因为我必须在此操作中再次调用我的 json 数据,这就是我不知道该怎么做?谁能告诉我如何做到这一点或如何使上述代码适用于我的应用程序?我将不胜感激。

PS,有关我的 json 文件外观的更多详细信息,请参阅我发布的上一个问题。

谢谢,

我尝试实现下面的答案,但这与此代码:

  for (NSDictionary *event in _events) {
    // Now you can use [event objectForKey:@"date"] to retrieve the event date
    if ([[event objectForKey:@"date"]  isEqualToString:dateString]){
    [[self myTableView] reloadData];
    }

  }

但这次我收到一个错误消息--> -[Events objectForKey:]: unrecognized selector sent to instance 0x74303f0

谁能告诉我现在有什么问题!!我好糊涂...

4

1 回答 1

0

objectForKey:NSDictionary方法,不是NSArray方法。要从数组中检索事件字典,您可以使用objectAtIndex:. 如果要遍历数组中的所有事件字典,可以使用快速枚举,如下所示:

for (NSDictionary *event in _events) {
    // Now you can use [event objectForKey:@"date"] to retrieve the event date 
}

比较字符串时,使用isEqualToString:而不是等号运算符 ( ==) 或不等号运算符 ( !=)。

于 2013-12-29T17:10:56.040 回答