0

我正在尝试列出日历事件中的NameLocationNotes。读写和NameNotes预期工作,但我遇到了 Location 字段的问题。

具体来说,以下行“ meetingLocation = [element location];”会产生错误

"Multiple methods named 'location' found with mismatched result, parameter type or attributes."

这里有什么问题?代码包含在下面。

-(IBAction)reloadEvents:(id)sender {

NSString *meetingName;
NSString *meetingLocation;
NSString *meetingNotes;

 // Define a range of event dates we want to display
 NSDate *startDate = [NSDate dateWithTimeIntervalSinceNow:(-1*60*60*.5)]; // .5 hour in the past
 NSDate *endDate = [NSDate dateWithTimeIntervalSinceNow:(60*60*24*1)]; // 1 day from now
 //NSDate *endDate = [NSDate dateWithTimeIntervalSinceNow:(60*60*24*7)]; // 7 days from now

 // Create a predicate to search all celndars with our date range using the start date/time of the event
 NSPredicate *predicate = [self.eventStore predicateForEventsWithStartDate:startDate endDate:endDate calendars:nil];

 // Query the event store using the predicate.
 NSArray *results       = [self.eventStore eventsMatchingPredicate:predicate];

 // Convert the results to a mutable array and store so we can implement swipe to delete
 //NSMutableArray *events = [[NSMutableArray alloc] initWithArray:results];
 //self.events            = events;

 NSEnumerator * enumerator = [results objectEnumerator];
 id element;

while(element = [enumerator nextObject])
{

    // Set the meeting name
    meetingName = [element title];
    NSLog(@"Name=%@",meetingName);

    // Set the meeting location
    meetingLocation = [element location];
    NSLog(@"Location=%@",meetingLocation);

    // Set the meeting notes
    meetingNotes = [element notes];
    NSLog(@"Notes=%@",meetingNotes);

}

}

4

2 回答 2

0

像这样试试

while(element = [enumerator nextObject])
{
   EKEvent *event = element;
   meetingName = event.location;
}
于 2013-10-01T04:12:17.373 回答
0

将一些旧的 iOS 5 转换为 iOS7 的类似问题:

if ([[thisEvent.recurrenceRules objectAtIndex:i] frequency] == EKRecurrenceFrequencyDaily  ){

导致

发现多个方法名称“频率”但结果不匹配。

通过类型转换然后执行 if 语句来解决

EKRecurrenceRule *thisRecurranceRule = (EKRecurrenceRule *)[thisEvent.recurrenceRules objectAtIndex:i] ;
if ([thisRecurranceRule frequency] == EKRecurrenceFrequencyDaily  ){
于 2014-04-06T10:16:18.427 回答