5

我在项目中工作需要带有事件的日历视图,我尝试了许多库,但最后我决定使用kal 库,因为它能够添加事件

日历.h

#import "Kal.h"
#import "NSDate+Convenience.h"
#import "EventKitDataSource.h"


@interface Calendar : UIViewController<WebService_Delegate , UITableViewDelegate >
{


    KalViewController *kal;
    id dataSource;
}

日历.m

- (void)viewDidLoad
{
    [super viewDidLoad];



    self.title = @"Caledar";
    kal = [[KalViewController alloc]initWithSelectionMode:KalSelectionModeSingle];
    kal.selectedDate = [NSDate dateStartOfDay:[NSDate date]];
     kal.delegate = self;


    kal.view.frame = CGRectMake(0, 65, kal.view.frame.size.width, kal.view.frame.size.height);

    [kal showAndSelectDate:[NSDate date]];
    //navController = [[UINavigationController alloc]initWithRootViewController:kal];
   // [self.view addSubview:navController.view];
    [self initVariable];
    [self getEvents];


    dataSource = [[EventKitDataSource alloc] init];
    kal.dataSource = dataSource;



   [self.view addSubview:kal.view];

}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    // Display a details screen for the selected event/row.
    EKEventViewController *vc = [[EKEventViewController alloc] init];

    vc.event = [dataSource eventAtIndexPath:indexPath];

    //[vc setEvent:[events_array objectAtIndex:indexPath.row]];
    vc.allowsEditing = NO;
    [navController pushViewController:vc animated:YES];
}

如何将数据传递给 dataSource 以显示它

这里它的样子

在此处输入图像描述

我需要将事件列表设置到我的事件列表中,我得到了重复的事件,它从我的日历中读取

谢谢你

4

1 回答 1

1

您需要在一个对象中实现 KalDataSource 协议,并将该对象设置为您的 kal 对象的数据源。该协议可以在这里找到https://github.com/klazuka/Kal/blob/master/src/KalDataSource.h

将 KalDataSource 协议添加到您的头文件 <WebService_Delegate , UITableViewDelegate, KalDataSource>

在 Calendar 对象的 init 方法中设置 kal.datasource = self

在您的对象中实现 KalDataSource 方法

于 2014-11-03T22:22:48.123 回答