2009-09-23 78 views
-1

我有一个字符串一个NSArray,我想要做的就是创建一个新的CalTask​​(日历店)为每串什么添加CalTask​​s,我希望任务的名字将被加入字符串,在代码中设置的优先和到期日。从一个NSArray

例如我有一个数组,字符串To-Do 1,TD 2,TD 3。 所以我要创建3个CalTask​​s,第一个与名称To-Do 1和名称为TD 2等等看看我说的是第二个。但我希望所有的优先级和到期日都是一样的。

+2

I 2天前回答你关于示例代码问题的http://计算器。 COM /问题/ 1455497 /使用砑光机店/ 1455743#1455743。如果你真的想自己写一些,你会得到更好的回复。 – Abizern 2009-09-23 18:10:22

+0

好的。好。我只是想知道我是否必须做一些不同的事情。 – Joshua 2009-09-24 05:33:49

回答

2

你可以做的是环比的NSArray和创建并添加一个新CalTask​​与预定义的优先级和到期日:

// Set up the array 
NSArray *array = [NSArray arrayWithObjects:@"TD1", @"TD2", @"TD3", nil]; 

// Get the calendar 
CalCalendarStore *store = [CalCalendarStore defaultCalendarStore]; 
CalCalendar *calendar = [[store calendars] objectAtIndex:0]; 
// Note: you can change which calendar you're adding to by changing the index or by 
// using CalCalendarStore's -calendarWithUID: method 

// Define priority and due date 
NSDate *dueDate = [NSDate date];    // By default due now - change as needed 
CalPriority priority = CalPriorityMedium;  // By default medium - change as needed 

// Loop, adding tasks 
for(NSString *title in array) { 
    // Create task 
    CalTask *task = [CalTask task]; 
    task.dueDate = dueDate; 
    task.priority = priority; 
    task.title = title; 
    task.calendar = calendar; 

    // Save task 
    NSError *error = nil;     
    if(![store saveTask:task error:&error]) { 
     // Diagnostic error handling 
     NSAlert *anAlert = [NSAlert alertWithError:error]; 
     [anAlert runModal]; 
    } 
}
+0

它似乎没有工作,我在XCode中没有错误,但在触发Action后,iCal中仍然没有任何新任务/待办事项。 – Joshua 2009-09-24 06:48:21

+0

确保您在标记点进行错误处理 - 如果日历存储没有更新,则此示例代码将不会生成消息。也可以在整个代码中添加更多的'NSLog()'语句来查看发生了什么。一旦你这样做了,请提供更具体的信息,说明什么是不工作的。 – Tim 2009-09-24 12:07:23

+0

好的。我把一个NSLog消息说错误,你把'//做错误处理'放在哪里。我得到3条日志消息说错误,一个用于数组中的每个字符串。 – Joshua 2009-09-24 15:16:22

2
+0

它告诉你如何创建一个任务,但不是专门用于数组。 – Joshua 2009-09-23 17:56:36

+2

你有没有在Objective-C中编写过任何东西? – 2009-09-23 18:06:06

+3

@Joshua:在数组中循环有多难?看看如何创建任务的示例代码有多难? http://bit.ly/nYcjp – 2009-09-23 18:07:31