diff --git a/MarsWater/MarsWater.xcodeproj/project.pbxproj b/MarsWater/MarsWater.xcodeproj/project.pbxproj index 61d423d..8c80ba7 100644 --- a/MarsWater/MarsWater.xcodeproj/project.pbxproj +++ b/MarsWater/MarsWater.xcodeproj/project.pbxproj @@ -7,21 +7,35 @@ objects = { /* Begin PBXBuildFile section */ + 5133F2D51BC21ADE0001A8EB /* List.m in Sources */ = {isa = PBXBuildFile; fileRef = 5133F2CE1BC21ADE0001A8EB /* List.m */; settings = {ASSET_TAGS = (); }; }; + 5133F2D61BC21ADE0001A8EB /* List+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 5133F2D01BC21ADE0001A8EB /* List+CoreDataProperties.m */; settings = {ASSET_TAGS = (); }; }; + 5133F2D71BC21ADE0001A8EB /* Task.m in Sources */ = {isa = PBXBuildFile; fileRef = 5133F2D21BC21ADE0001A8EB /* Task.m */; settings = {ASSET_TAGS = (); }; }; + 5133F2D81BC21ADE0001A8EB /* Task+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 5133F2D41BC21ADE0001A8EB /* Task+CoreDataProperties.m */; settings = {ASSET_TAGS = (); }; }; + 5133F2DB1BC2219A0001A8EB /* TaskListTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5133F2DA1BC2219A0001A8EB /* TaskListTableViewController.m */; settings = {ASSET_TAGS = (); }; }; + 518510531BC89D8A00A45E70 /* TaskCreationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 518510521BC89D8A00A45E70 /* TaskCreationViewController.m */; settings = {ASSET_TAGS = (); }; }; 8DA86CA91BC1AE57006C50BC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA86CA81BC1AE57006C50BC /* main.m */; }; 8DA86CAC1BC1AE57006C50BC /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA86CAB1BC1AE57006C50BC /* AppDelegate.m */; }; 8DA86CB21BC1AE57006C50BC /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8DA86CB01BC1AE57006C50BC /* Main.storyboard */; }; 8DA86CB51BC1AE57006C50BC /* MarsWater.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 8DA86CB31BC1AE57006C50BC /* MarsWater.xcdatamodeld */; }; 8DA86CB71BC1AE57006C50BC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8DA86CB61BC1AE57006C50BC /* Assets.xcassets */; }; 8DA86CBA1BC1AE57006C50BC /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8DA86CB81BC1AE57006C50BC /* LaunchScreen.storyboard */; }; - 8DA86CCD1BC1B31C006C50BC /* List+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA86CC61BC1B31C006C50BC /* List+CoreDataProperties.m */; settings = {ASSET_TAGS = (); }; }; - 8DA86CCE1BC1B31C006C50BC /* List.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA86CC81BC1B31C006C50BC /* List.m */; settings = {ASSET_TAGS = (); }; }; - 8DA86CCF1BC1B31C006C50BC /* Task+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA86CCA1BC1B31C006C50BC /* Task+CoreDataProperties.m */; settings = {ASSET_TAGS = (); }; }; - 8DA86CD01BC1B31C006C50BC /* Task.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA86CCC1BC1B31C006C50BC /* Task.m */; settings = {ASSET_TAGS = (); }; }; 8DA86CD41BC1B8E4006C50BC /* ListsTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA86CD31BC1B8E4006C50BC /* ListsTableViewController.m */; settings = {ASSET_TAGS = (); }; }; 8DA86CD71BC1B904006C50BC /* ListCreationTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA86CD61BC1B904006C50BC /* ListCreationTableViewController.m */; settings = {ASSET_TAGS = (); }; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 5133F2CD1BC21ADE0001A8EB /* List.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = List.h; sourceTree = ""; }; + 5133F2CE1BC21ADE0001A8EB /* List.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = List.m; sourceTree = ""; }; + 5133F2CF1BC21ADE0001A8EB /* List+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "List+CoreDataProperties.h"; sourceTree = ""; }; + 5133F2D01BC21ADE0001A8EB /* List+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "List+CoreDataProperties.m"; sourceTree = ""; }; + 5133F2D11BC21ADE0001A8EB /* Task.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Task.h; sourceTree = ""; }; + 5133F2D21BC21ADE0001A8EB /* Task.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Task.m; sourceTree = ""; }; + 5133F2D31BC21ADE0001A8EB /* Task+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Task+CoreDataProperties.h"; sourceTree = ""; }; + 5133F2D41BC21ADE0001A8EB /* Task+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "Task+CoreDataProperties.m"; sourceTree = ""; }; + 5133F2D91BC2219A0001A8EB /* TaskListTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TaskListTableViewController.h; sourceTree = ""; }; + 5133F2DA1BC2219A0001A8EB /* TaskListTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TaskListTableViewController.m; sourceTree = ""; }; + 518510511BC89D8A00A45E70 /* TaskCreationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TaskCreationViewController.h; sourceTree = ""; }; + 518510521BC89D8A00A45E70 /* TaskCreationViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TaskCreationViewController.m; sourceTree = ""; }; 8DA86CA41BC1AE57006C50BC /* MarsWater.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MarsWater.app; sourceTree = BUILT_PRODUCTS_DIR; }; 8DA86CA81BC1AE57006C50BC /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 8DA86CAA1BC1AE57006C50BC /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; @@ -31,14 +45,6 @@ 8DA86CB61BC1AE57006C50BC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 8DA86CB91BC1AE57006C50BC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 8DA86CBB1BC1AE57006C50BC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8DA86CC51BC1B31C006C50BC /* List+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "List+CoreDataProperties.h"; path = "../List+CoreDataProperties.h"; sourceTree = ""; }; - 8DA86CC61BC1B31C006C50BC /* List+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "List+CoreDataProperties.m"; path = "../List+CoreDataProperties.m"; sourceTree = ""; }; - 8DA86CC71BC1B31C006C50BC /* List.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = List.h; path = ../List.h; sourceTree = ""; }; - 8DA86CC81BC1B31C006C50BC /* List.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = List.m; path = ../List.m; sourceTree = ""; }; - 8DA86CC91BC1B31C006C50BC /* Task+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "Task+CoreDataProperties.h"; path = "../Task+CoreDataProperties.h"; sourceTree = ""; }; - 8DA86CCA1BC1B31C006C50BC /* Task+CoreDataProperties.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "Task+CoreDataProperties.m"; path = "../Task+CoreDataProperties.m"; sourceTree = ""; }; - 8DA86CCB1BC1B31C006C50BC /* Task.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Task.h; path = ../Task.h; sourceTree = ""; }; - 8DA86CCC1BC1B31C006C50BC /* Task.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Task.m; path = ../Task.m; sourceTree = ""; }; 8DA86CD21BC1B8E4006C50BC /* ListsTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListsTableViewController.h; sourceTree = ""; }; 8DA86CD31BC1B8E4006C50BC /* ListsTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ListsTableViewController.m; sourceTree = ""; }; 8DA86CD51BC1B904006C50BC /* ListCreationTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListCreationTableViewController.h; sourceTree = ""; }; @@ -83,11 +89,15 @@ 8DA86CD51BC1B904006C50BC /* ListCreationTableViewController.h */, 8DA86CD61BC1B904006C50BC /* ListCreationTableViewController.m */, 8DA86CB01BC1AE57006C50BC /* Main.storyboard */, + 5133F2D91BC2219A0001A8EB /* TaskListTableViewController.h */, + 5133F2DA1BC2219A0001A8EB /* TaskListTableViewController.m */, 8DA86CB61BC1AE57006C50BC /* Assets.xcassets */, 8DA86CB81BC1AE57006C50BC /* LaunchScreen.storyboard */, 8DA86CBB1BC1AE57006C50BC /* Info.plist */, 8DA86CB31BC1AE57006C50BC /* MarsWater.xcdatamodeld */, 8DA86CA71BC1AE57006C50BC /* Supporting Files */, + 518510511BC89D8A00A45E70 /* TaskCreationViewController.h */, + 518510521BC89D8A00A45E70 /* TaskCreationViewController.m */, ); path = MarsWater; sourceTree = ""; @@ -103,14 +113,14 @@ 8DA86CD11BC1B329006C50BC /* Model */ = { isa = PBXGroup; children = ( - 8DA86CC51BC1B31C006C50BC /* List+CoreDataProperties.h */, - 8DA86CC61BC1B31C006C50BC /* List+CoreDataProperties.m */, - 8DA86CC71BC1B31C006C50BC /* List.h */, - 8DA86CC81BC1B31C006C50BC /* List.m */, - 8DA86CC91BC1B31C006C50BC /* Task+CoreDataProperties.h */, - 8DA86CCA1BC1B31C006C50BC /* Task+CoreDataProperties.m */, - 8DA86CCB1BC1B31C006C50BC /* Task.h */, - 8DA86CCC1BC1B31C006C50BC /* Task.m */, + 5133F2CD1BC21ADE0001A8EB /* List.h */, + 5133F2CE1BC21ADE0001A8EB /* List.m */, + 5133F2CF1BC21ADE0001A8EB /* List+CoreDataProperties.h */, + 5133F2D01BC21ADE0001A8EB /* List+CoreDataProperties.m */, + 5133F2D11BC21ADE0001A8EB /* Task.h */, + 5133F2D21BC21ADE0001A8EB /* Task.m */, + 5133F2D31BC21ADE0001A8EB /* Task+CoreDataProperties.h */, + 5133F2D41BC21ADE0001A8EB /* Task+CoreDataProperties.m */, ); name = Model; sourceTree = ""; @@ -186,13 +196,15 @@ buildActionMask = 2147483647; files = ( 8DA86CB51BC1AE57006C50BC /* MarsWater.xcdatamodeld in Sources */, - 8DA86CCF1BC1B31C006C50BC /* Task+CoreDataProperties.m in Sources */, 8DA86CAC1BC1AE57006C50BC /* AppDelegate.m in Sources */, + 5133F2D61BC21ADE0001A8EB /* List+CoreDataProperties.m in Sources */, + 5133F2D71BC21ADE0001A8EB /* Task.m in Sources */, + 518510531BC89D8A00A45E70 /* TaskCreationViewController.m in Sources */, + 5133F2DB1BC2219A0001A8EB /* TaskListTableViewController.m in Sources */, 8DA86CD41BC1B8E4006C50BC /* ListsTableViewController.m in Sources */, - 8DA86CD01BC1B31C006C50BC /* Task.m in Sources */, - 8DA86CCE1BC1B31C006C50BC /* List.m in Sources */, + 5133F2D51BC21ADE0001A8EB /* List.m in Sources */, 8DA86CD71BC1B904006C50BC /* ListCreationTableViewController.m in Sources */, - 8DA86CCD1BC1B31C006C50BC /* List+CoreDataProperties.m in Sources */, + 5133F2D81BC21ADE0001A8EB /* Task+CoreDataProperties.m in Sources */, 8DA86CA91BC1AE57006C50BC /* main.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -340,6 +352,7 @@ 8DA86CC01BC1AE57006C50BC /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ diff --git a/MarsWater/MarsWater/Base.lproj/LaunchScreen.storyboard b/MarsWater/MarsWater/Base.lproj/LaunchScreen.storyboard index 2e721e1..5a9c4a6 100644 --- a/MarsWater/MarsWater/Base.lproj/LaunchScreen.storyboard +++ b/MarsWater/MarsWater/Base.lproj/LaunchScreen.storyboard @@ -1,7 +1,7 @@ - + - + diff --git a/MarsWater/MarsWater/Base.lproj/Main.storyboard b/MarsWater/MarsWater/Base.lproj/Main.storyboard index 13ead89..60e1b82 100644 --- a/MarsWater/MarsWater/Base.lproj/Main.storyboard +++ b/MarsWater/MarsWater/Base.lproj/Main.storyboard @@ -1,7 +1,8 @@ - + + @@ -14,11 +15,11 @@ - + - + + + + @@ -60,6 +64,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -75,7 +130,7 @@ - + @@ -213,7 +268,68 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MarsWater/MarsWater/ListsTableViewController.m b/MarsWater/MarsWater/ListsTableViewController.m index 8a2659c..caa73ca 100644 --- a/MarsWater/MarsWater/ListsTableViewController.m +++ b/MarsWater/MarsWater/ListsTableViewController.m @@ -10,6 +10,7 @@ #import "ListsTableViewController.h" #import "AppDelegate.h" #import "List.h" +#import "TaskListTableViewController.h" @interface ListsTableViewController () @@ -72,5 +73,18 @@ - (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id) [self.tableView reloadData]; } +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender +{ + if ([[segue identifier] isEqualToString:@"Tasks"]) { + + TaskListTableViewController *vc = [segue destinationViewController]; + + NSIndexPath *indexPath = [self.tableView indexPathForCell:sender]; + + vc.task = self.fetchedResultsController.fetchedObjects[indexPath.row]; + } + +} + @end diff --git a/MarsWater/MarsWater/MarsWater.xcdatamodeld/MarsWater.xcdatamodel/contents b/MarsWater/MarsWater/MarsWater.xcdatamodeld/MarsWater.xcdatamodel/contents index 116441d..a813449 100644 --- a/MarsWater/MarsWater/MarsWater.xcdatamodeld/MarsWater.xcdatamodel/contents +++ b/MarsWater/MarsWater/MarsWater.xcdatamodeld/MarsWater.xcdatamodel/contents @@ -1,10 +1,10 @@ - + - + @@ -16,7 +16,7 @@ - + \ No newline at end of file diff --git a/MarsWater/MarsWater/TaskCreationViewController.h b/MarsWater/MarsWater/TaskCreationViewController.h new file mode 100644 index 0000000..d45cb07 --- /dev/null +++ b/MarsWater/MarsWater/TaskCreationViewController.h @@ -0,0 +1,13 @@ +// +// TaskCreationViewController.h +// MarsWater +// +// Created by Natalia Estrella on 10/9/15. +// Copyright © 2015 Michael Kavouras. All rights reserved. +// + +#import + +@interface TaskCreationViewController : UIViewController + +@end diff --git a/MarsWater/MarsWater/TaskCreationViewController.m b/MarsWater/MarsWater/TaskCreationViewController.m new file mode 100644 index 0000000..95e283f --- /dev/null +++ b/MarsWater/MarsWater/TaskCreationViewController.m @@ -0,0 +1,45 @@ +// +// TaskCreationViewController.m +// MarsWater +// +// Created by Natalia Estrella on 10/9/15. +// Copyright © 2015 Michael Kavouras. All rights reserved. +// + +#import +#import "TaskCreationViewController.h" +#import "AppDelegate.h" +#import "Task.h" + +@interface TaskCreationViewController () +@property (weak, nonatomic) IBOutlet UITextField *descriptionField; +@property (weak, nonatomic) IBOutlet UIDatePicker *datePicker; + +@end + +@implementation TaskCreationViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +} + + + +- (IBAction)createTapped:(id)sender { + + AppDelegate *delegate = [UIApplication sharedApplication].delegate; + Task *task = [NSEntityDescription insertNewObjectForEntityForName:@"Task" inManagedObjectContext:delegate.managedObjectContext]; + + task.taskDescription = self.descriptionField.text; + task.createdAt = [NSDate date]; + task.updatedAt = [NSDate date]; + task.dueAt = self.datePicker.date; + task.priority = @(1); + + [delegate.managedObjectContext save:nil]; + + [self.navigationController popViewControllerAnimated:YES]; +} + +@end diff --git a/MarsWater/MarsWater/TaskListTableViewController.h b/MarsWater/MarsWater/TaskListTableViewController.h new file mode 100644 index 0000000..fc31436 --- /dev/null +++ b/MarsWater/MarsWater/TaskListTableViewController.h @@ -0,0 +1,16 @@ +// +// TaskListTableViewController.h +// MarsWater +// +// Created by Natalia Estrella on 10/4/15. +// Copyright © 2015 Michael Kavouras. All rights reserved. +// + +#import +#import "Task.h" + +@interface TaskListTableViewController : UITableViewController + +@property (nonatomic) Task *task; + +@end diff --git a/MarsWater/MarsWater/TaskListTableViewController.m b/MarsWater/MarsWater/TaskListTableViewController.m new file mode 100644 index 0000000..0480ca2 --- /dev/null +++ b/MarsWater/MarsWater/TaskListTableViewController.m @@ -0,0 +1,85 @@ +// +// TaskListTableViewController.m +// MarsWater +// +// Created by Natalia Estrella on 10/4/15. +// Copyright © 2015 Michael Kavouras. All rights reserved. +// + +#import "TaskListTableViewController.h" +#import "ListsTableViewController.h" +#import "AppDelegate.h" +#import "Task.h" +#import "TaskListTableViewController.h" + +@interface TaskListTableViewController () + +@property (nonatomic) NSFetchedResultsController *fetchedResultsController; + +@end + +@implementation TaskListTableViewController + + +- (void)viewDidLoad { + [super viewDidLoad]; + + + AppDelegate *delegate = [UIApplication sharedApplication].delegate; + + // 1) create an instance of NSFetchRequest with an entity name + NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Task"]; + + + // 2) create a sort descriptor + NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"createdAt" ascending:NO]; + + // 3) set the sortDescriptors on the fetchRequest + fetchRequest.sortDescriptors = @[sort]; + + // 4) create a fetchedResultsController with a fetchRequest and a managedObjectContext, + self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:delegate.managedObjectContext sectionNameKeyPath:nil cacheName:nil]; + + self.fetchedResultsController.delegate = self; + + [self.fetchedResultsController performFetch:nil]; + + [self.tableView reloadData]; +} + + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.fetchedResultsController.fetchedObjects.count; +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: @"TaskCellIdentifier" forIndexPath:indexPath]; + + NSDateFormatter *dateFormatter = [NSDateFormatter new]; + dateFormatter.timeStyle = kCFDateFormatterMediumStyle; + + Task *task = self.fetchedResultsController.fetchedObjects[indexPath.row]; + cell.textLabel.text = task.taskDescription; + cell.detailTextLabel.text = [NSString stringWithFormat:@"Due at %@", [dateFormatter stringFromDate:task.dueAt]]; + + return cell; +} + +- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath { + + [self.tableView reloadData]; +} + +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender +{ + +} + + +@end