目標は、ユーザーに期日を設定させ、この期日をオブジェクトに保存させることです。
オブジェクトのsaveListItemメソッドは次のとおりです。
+ (void)saveListItem:(PFUser *)theUser withName:(NSString *)theListItem withDate:(NSDate *)theDueDate
{
PFObject *listObject = [[PFObject alloc] initWithClassName:@"ListItem"];
[listObject setObject:[PFUser currentUser] forKey:@"author"];
[listObject setObject:theListItem forKey:@"listName"];
[listObject setObject:theDueDate forKey:@"dueDate"];
[listObject save];
NSLog(@"%@", listObject);
}
これが呼ばれる場所です:
- (void)viewDidLoad
{
[super viewDidLoad];
UIBarButtonItem *saveDate = [[UIBarButtonItem alloc]
initWithTitle:@"Save Date"
style:UIBarButtonItemStyleDone
target:self
action:@selector(saveList:)];
self.navigationItem.rightBarButtonItem = saveDate;
pick = [[UIDatePicker alloc] init];
[pick setFrame:CGRectMake(0,200,320,120)];
[pick addTarget:self action:@selector(updateDateLabel:) forControlEvents:UIControlEventValueChanged];
}
-(IBAction)saveList:(id)sender {
[ListItemObject saveListItem:[PFUser currentUser] withName:listFieldText withDate:pick.date];
}
-(IBAction)updateDateLabel:(id)sender {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterLongStyle];
[formatter setTimeStyle:NSDateFormatterMediumStyle];
dateLabel.text = [formatter stringFromDate:pick.date];
}
日付ピッカーの参照先を確認したところ、ピッキングするように設定されています。
保存されるオブジェクトは現在の日付であり、ピッカーで選択された日付ではありません。