diff --git a/VIPER-SWIFT.xcodeproj/xcshareddata/xcschemes/VIPER-SWIFT.xcscheme b/VIPER-SWIFT.xcodeproj/xcshareddata/xcschemes/VIPER-SWIFT.xcscheme new file mode 100644 index 0000000..d1292cd --- /dev/null +++ b/VIPER-SWIFT.xcodeproj/xcshareddata/xcschemes/VIPER-SWIFT.xcscheme @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/VIPER-SWIFT/Classes/Common/Categories/NSCalendar+CalendarAdditions.swift b/VIPER-SWIFT/Classes/Common/Categories/NSCalendar+CalendarAdditions.swift index 316fd4c..4a77656 100755 --- a/VIPER-SWIFT/Classes/Common/Categories/NSCalendar+CalendarAdditions.swift +++ b/VIPER-SWIFT/Classes/Common/Categories/NSCalendar+CalendarAdditions.swift @@ -19,26 +19,26 @@ extension NSCalendar { components.month = month components.day = day components.hour = 12 - return dateFromComponents(components) + return dateFromComponents(components)! } func dateForTomorrowRelativeToToday(today: NSDate) -> NSDate { let tomorrowComponents = NSDateComponents() tomorrowComponents.day = 1 - return dateByAddingComponents(tomorrowComponents, toDate: today, options: nil) + return dateByAddingComponents(tomorrowComponents, toDate: today, options: nil)! } func dateForEndOfWeekWithDate(date: NSDate) -> NSDate { let daysRemainingThisWeek = daysRemainingInWeekWithDate(date) let remainingDaysComponent = NSDateComponents() remainingDaysComponent.day = daysRemainingThisWeek - return dateByAddingComponents(remainingDaysComponent, toDate: date, options: nil) + return dateByAddingComponents(remainingDaysComponent, toDate: date, options: nil)! } func dateForBeginningOfDay(date: NSDate) -> NSDate { let newComponent = components((NSCalendarUnit.YearCalendarUnit | NSCalendarUnit.CalendarUnitMonth | NSCalendarUnit.CalendarUnitDay), fromDate: date) let newDate = dateFromComponents(newComponent) - return newDate + return newDate! } func dateForEndOfDay(date: NSDate) -> NSDate { @@ -46,8 +46,8 @@ extension NSCalendar { components.day = 1 let toDate = dateForBeginningOfDay(date) let nextDay = dateByAddingComponents(components, toDate: toDate, options: nil) - let endDay = nextDay.dateByAddingTimeInterval(-1) - return nextDay + let endDay = nextDay!.dateByAddingTimeInterval(-1) + return nextDay! } func daysRemainingInWeekWithDate(date: NSDate) -> Int { @@ -61,9 +61,9 @@ extension NSCalendar { func dateForEndOfFollowingWeekWithDate(date: NSDate) -> NSDate { let endOfWeek = dateForEndOfWeekWithDate(date) let nextWeekComponent = NSDateComponents() - nextWeekComponent.setWeek(1) + nextWeekComponent.weekOfYear = 1 let followingWeekDate = dateByAddingComponents(nextWeekComponent, toDate: endOfWeek, options: nil) - return followingWeekDate + return followingWeekDate! } func isDate(date: NSDate, beforeYearMonthDay: NSDate) -> Bool { @@ -79,17 +79,17 @@ extension NSCalendar { } func isDate(date: NSDate, duringSameWeekAsDate: NSDate) -> Bool { - let dateComponents = components(NSCalendarUnit.WeekCalendarUnit, fromDate: date) - let duringSameWeekComponents = components(NSCalendarUnit.WeekCalendarUnit, fromDate: duringSameWeekAsDate) - let result = dateComponents.week() == duringSameWeekComponents.week() + let dateComponents = components(NSCalendarUnit.WeekOfYearCalendarUnit, fromDate: date) + let duringSameWeekComponents = components(NSCalendarUnit.WeekOfYearCalendarUnit, fromDate: duringSameWeekAsDate) + let result = dateComponents.weekOfYear == duringSameWeekComponents.weekOfYear return result } func isDate(date: NSDate, duringWeekAfterDate: NSDate) -> Bool { let nextWeek = dateForEndOfFollowingWeekWithDate(duringWeekAfterDate) - let dateComponents = components(NSCalendarUnit.WeekCalendarUnit, fromDate: date) - let nextWeekComponents = components(NSCalendarUnit.WeekCalendarUnit, fromDate: nextWeek) - let result = dateComponents.week() == nextWeekComponents.week() + let dateComponents = components(NSCalendarUnit.WeekOfYearCalendarUnit, fromDate: date) + let nextWeekComponents = components(NSCalendarUnit.WeekOfYearCalendarUnit, fromDate: nextWeek) + let result = dateComponents.weekOfYear == nextWeekComponents.weekOfYear return result } diff --git a/VIPER-SWIFT/Classes/Common/Store/CoreDataStore.swift b/VIPER-SWIFT/Classes/Common/Store/CoreDataStore.swift index 0921a62..0a76aa1 100755 --- a/VIPER-SWIFT/Classes/Common/Store/CoreDataStore.swift +++ b/VIPER-SWIFT/Classes/Common/Store/CoreDataStore.swift @@ -23,10 +23,10 @@ class CoreDataStore : NSObject { var managedObjectModel : NSManagedObjectModel? var managedObjectContext : NSManagedObjectContext? - init() { + override init() { managedObjectModel = NSManagedObjectModel.mergedModelFromBundles(nil) - persistentStoreCoordinator = NSPersistentStoreCoordinator(managedObjectModel: managedObjectModel) + persistentStoreCoordinator = NSPersistentStoreCoordinator(managedObjectModel: managedObjectModel!) let domains = NSSearchPathDomainMask.UserDomainMask let directory = NSSearchPathDirectory.DocumentDirectory @@ -46,21 +46,21 @@ class CoreDataStore : NSObject { super.init() } - func fetchEntriesWithPredicate(predicate: NSPredicate, sortDescriptors: AnyObject[], completionBlock: ((ManagedTodoItem[]) -> Void)!) { + func fetchEntriesWithPredicate(predicate: NSPredicate, sortDescriptors: [AnyObject], completionBlock: (([ManagedTodoItem]) -> Void)!) { let fetchRequest = NSFetchRequest(entityName: "TodoItem") fetchRequest.predicate = predicate fetchRequest.sortDescriptors = [] managedObjectContext?.performBlock { let queryResults = self.managedObjectContext?.executeFetchRequest(fetchRequest, error: nil) - let managedResults = queryResults! as ManagedTodoItem[] + let managedResults = queryResults! as [ManagedTodoItem] completionBlock(managedResults) } } func newTodoItem() -> ManagedTodoItem { - let entityDescription = NSEntityDescription.entityForName("TodoItem", inManagedObjectContext: managedObjectContext) - let newEntry = NSManagedObject(entity: entityDescription, insertIntoManagedObjectContext: managedObjectContext) as ManagedTodoItem + let entityDescription = NSEntityDescription.entityForName("TodoItem", inManagedObjectContext: managedObjectContext!) + let newEntry = NSManagedObject(entity: entityDescription!, insertIntoManagedObjectContext: managedObjectContext) as ManagedTodoItem return newEntry } diff --git a/VIPER-SWIFT/Classes/Modules/Add/Application Logic/Manager/AddDataManager.swift b/VIPER-SWIFT/Classes/Modules/Add/Application Logic/Manager/AddDataManager.swift index fadd6d8..d725187 100755 --- a/VIPER-SWIFT/Classes/Modules/Add/Application Logic/Manager/AddDataManager.swift +++ b/VIPER-SWIFT/Classes/Modules/Add/Application Logic/Manager/AddDataManager.swift @@ -12,7 +12,7 @@ class AddDataManager : NSObject { var dataStore : CoreDataStore? func addNewEntry(entry: TodoItem) { - let newEntry = dataStore?.newTodoItem() as ManagedTodoItem + let newEntry = dataStore!.newTodoItem() as ManagedTodoItem newEntry.name = entry.name newEntry.date = entry.dueDate; diff --git a/VIPER-SWIFT/Classes/Modules/Add/User Interface/Transition/AddDismissalTransition.swift b/VIPER-SWIFT/Classes/Modules/Add/User Interface/Transition/AddDismissalTransition.swift index 81ba22a..b48d303 100755 --- a/VIPER-SWIFT/Classes/Modules/Add/User Interface/Transition/AddDismissalTransition.swift +++ b/VIPER-SWIFT/Classes/Modules/Add/User Interface/Transition/AddDismissalTransition.swift @@ -10,11 +10,12 @@ import Foundation import UIKit class AddDismissalTransition : NSObject, UIViewControllerAnimatedTransitioning { - func transitionDuration(transitionContext: UIViewControllerContextTransitioning!) -> NSTimeInterval { + func transitionDuration(transitionContext: UIViewControllerContextTransitioning) -> NSTimeInterval { return 0.72 } - func animateTransition(transitionContext: UIViewControllerContextTransitioning!) { + + func animateTransition(transitionContext: UIViewControllerContextTransitioning) { let fromVC = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) as AddViewController let finalCenter = CGPointMake(160.0, (fromVC.view.bounds.size.height / 2) - 1000.0) diff --git a/VIPER-SWIFT/Classes/Modules/Add/User Interface/Transition/AddPresentationTransition.swift b/VIPER-SWIFT/Classes/Modules/Add/User Interface/Transition/AddPresentationTransition.swift index 88a7205..94fe84f 100755 --- a/VIPER-SWIFT/Classes/Modules/Add/User Interface/Transition/AddPresentationTransition.swift +++ b/VIPER-SWIFT/Classes/Modules/Add/User Interface/Transition/AddPresentationTransition.swift @@ -10,11 +10,11 @@ import Foundation import UIKit class AddPresentationTransition: NSObject, UIViewControllerAnimatedTransitioning { - func transitionDuration(transitionContext: UIViewControllerContextTransitioning!) -> NSTimeInterval { + func transitionDuration(transitionContext: UIViewControllerContextTransitioning) -> NSTimeInterval { return 0.72 } - func animateTransition(transitionContext: UIViewControllerContextTransitioning!) { + func animateTransition(transitionContext: UIViewControllerContextTransitioning) { let fromVC = transitionContext.viewControllerForKey(UITransitionContextFromViewControllerKey) let toVC = transitionContext.viewControllerForKey(UITransitionContextToViewControllerKey) as AddViewController @@ -29,7 +29,7 @@ class AddPresentationTransition: NSObject, UIViewControllerAnimatedTransitioning let toViewFrame = CGRectMake(0, 0, 260, 300) toVC.view.frame = toViewFrame - let finalCenter = CGPointMake(fromVC.view.bounds.size.width / 2, 20 + toViewFrame.size.height / 2) + let finalCenter = CGPointMake(fromVC!.view.bounds.size.width / 2, 20 + toViewFrame.size.height / 2) toVC.view.center = CGPointMake(finalCenter.x, finalCenter.y - 1000) let options = UIViewAnimationOptions.CurveEaseIn diff --git a/VIPER-SWIFT/Classes/Modules/Add/User Interface/View/AddViewController.swift b/VIPER-SWIFT/Classes/Modules/Add/User Interface/View/AddViewController.swift index ec50fdc..b4300d5 100755 --- a/VIPER-SWIFT/Classes/Modules/Add/User Interface/View/AddViewController.swift +++ b/VIPER-SWIFT/Classes/Modules/Add/User Interface/View/AddViewController.swift @@ -12,18 +12,18 @@ import UIKit class AddViewController: UIViewController, UITextFieldDelegate, AddViewInterface { var eventHandler : AddModuleInterface? - @IBOutlet var nameTextField : UITextField + @IBOutlet var nameTextField : UITextField? @IBOutlet var datePicker : UIDatePicker? var minimumDate : NSDate = NSDate() var transitioningBackgroundView : UIView = UIView() @IBAction func save(sender: AnyObject) { - eventHandler?.saveAddActionWithName(nameTextField.text, dueDate: datePicker!.date) + eventHandler?.saveAddActionWithName(nameTextField!.text, dueDate: datePicker!.date) } @IBAction func cancel(sender: AnyObject) { - nameTextField.resignFirstResponder() + nameTextField!.resignFirstResponder() eventHandler?.cancelAddAction() } @@ -35,7 +35,7 @@ class AddViewController: UIViewController, UITextFieldDelegate, AddViewInterface transitioningBackgroundView.userInteractionEnabled = true - nameTextField.becomeFirstResponder() + nameTextField!.becomeFirstResponder() if let realDatePicker = datePicker { realDatePicker.minimumDate = minimumDate @@ -45,7 +45,7 @@ class AddViewController: UIViewController, UITextFieldDelegate, AddViewInterface override func viewWillDisappear(animated: Bool) { super.viewWillDisappear(animated) - nameTextField.resignFirstResponder() + nameTextField!.resignFirstResponder() } func dismiss() { @@ -53,7 +53,7 @@ class AddViewController: UIViewController, UITextFieldDelegate, AddViewInterface } func setEntryName(name: NSString) { - nameTextField.text = name + nameTextField!.text = name } func setEntryDueDate(date: NSDate) { diff --git a/VIPER-SWIFT/Classes/Modules/List/Application Logic/Interactor/ListInteractor.swift b/VIPER-SWIFT/Classes/Modules/List/Application Logic/Interactor/ListInteractor.swift index f3b38d3..b3d9744 100755 --- a/VIPER-SWIFT/Classes/Modules/List/Application Logic/Interactor/ListInteractor.swift +++ b/VIPER-SWIFT/Classes/Modules/List/Application Logic/Interactor/ListInteractor.swift @@ -31,10 +31,10 @@ class ListInteractor : NSObject, ListInteractorInput { }) } - func upcomingItemsFromToDoItems(todoItems: TodoItem[]) -> UpcomingItem[] { + func upcomingItemsFromToDoItems(todoItems: [TodoItem]) -> [UpcomingItem] { let calendar = NSCalendar.autoupdatingCurrentCalendar() - var upcomingItems : UpcomingItem[] = [] + var upcomingItems : [UpcomingItem] = [] for todoItem in todoItems { var dateRelation = calendar.nearTermRelationForDate(todoItem.dueDate, relativeToToday: clock.today()) diff --git a/VIPER-SWIFT/Classes/Modules/List/Application Logic/Interactor/ListInteractorIO.swift b/VIPER-SWIFT/Classes/Modules/List/Application Logic/Interactor/ListInteractorIO.swift index 6be6403..6114b0a 100755 --- a/VIPER-SWIFT/Classes/Modules/List/Application Logic/Interactor/ListInteractorIO.swift +++ b/VIPER-SWIFT/Classes/Modules/List/Application Logic/Interactor/ListInteractorIO.swift @@ -14,5 +14,5 @@ protocol ListInteractorInput { } protocol ListInteractorOutput { - func foundUpcomingItems(upcomingItems: UpcomingItem[]) + func foundUpcomingItems(upcomingItems: [UpcomingItem]) } diff --git a/VIPER-SWIFT/Classes/Modules/List/Application Logic/Manager/ListDataManager.swift b/VIPER-SWIFT/Classes/Modules/List/Application Logic/Manager/ListDataManager.swift index 546c714..cd5e698 100755 --- a/VIPER-SWIFT/Classes/Modules/List/Application Logic/Manager/ListDataManager.swift +++ b/VIPER-SWIFT/Classes/Modules/List/Application Logic/Manager/ListDataManager.swift @@ -12,7 +12,7 @@ import Foundation class ListDataManager : NSObject { var coreDataStore : CoreDataStore? - func todoItemsBetweenStartDate(startDate: NSDate, endDate: NSDate, completion: ((TodoItem[]) -> Void)!) { + func todoItemsBetweenStartDate(startDate: NSDate, endDate: NSDate, completion: (([TodoItem]) -> Void)!) { let calendar = NSCalendar.autoupdatingCurrentCalendar() let beginning = calendar.dateForBeginningOfDay(startDate) let end = calendar.dateForEndOfDay(endDate) @@ -28,8 +28,8 @@ class ListDataManager : NSObject { }) } - func todoItemsFromDataStoreEntries(entries: ManagedTodoItem[]) -> TodoItem[] { - var todoItems : TodoItem[] = [] + func todoItemsFromDataStoreEntries(entries: [ManagedTodoItem]) -> [TodoItem] { + var todoItems : [TodoItem] = [] for managedTodoItem in entries { let todoItem = TodoItem(dueDate: managedTodoItem.date, name: managedTodoItem.name) diff --git a/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/ListPresenter.swift b/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/ListPresenter.swift index bd24ab0..5cf947e 100755 --- a/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/ListPresenter.swift +++ b/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/ListPresenter.swift @@ -18,7 +18,7 @@ class ListPresenter : NSObject, ListInteractorOutput, ListModuleInterface, AddMo listInteractor?.findUpcomingItems() } - func foundUpcomingItems(upcomingItems: UpcomingItem[]) { + func foundUpcomingItems(upcomingItems: [UpcomingItem]) { if upcomingItems.count == 0 { userInterface?.showNoContentMessage() } else { @@ -26,12 +26,12 @@ class ListPresenter : NSObject, ListInteractorOutput, ListModuleInterface, AddMo } } - func updateUserInterfaceWithUpcomingItems(upcomingItems: UpcomingItem[]) { + func updateUserInterfaceWithUpcomingItems(upcomingItems: [UpcomingItem]) { let upcomingDisplayData = upcomingDisplayDataWithItems(upcomingItems) userInterface?.showUpcomingDisplayData(upcomingDisplayData) } - func upcomingDisplayDataWithItems(upcomingItems: UpcomingItem[]) -> UpcomingDisplayData { + func upcomingDisplayDataWithItems(upcomingItems: [UpcomingItem]) -> UpcomingDisplayData { let collection = UpcomingDisplayDataCollection() collection.addUpcomingItems(upcomingItems) return collection.collectedDisplayData() diff --git a/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplayData.swift b/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplayData.swift index 9c0a93b..6b5406f 100755 --- a/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplayData.swift +++ b/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplayData.swift @@ -9,11 +9,11 @@ import Foundation struct UpcomingDisplayData : Equatable { - let sections : UpcomingDisplaySection[] = [] + let sections : [UpcomingDisplaySection] = [] - init(sections: UpcomingDisplaySection[]) { + init(sections: [UpcomingDisplaySection]) { self.sections = sections - self.sections.unshare() + //self.sections.unshare() } } diff --git a/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplayDataCollection.swift b/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplayDataCollection.swift index d152667..eefbd6a 100755 --- a/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplayDataCollection.swift +++ b/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplayDataCollection.swift @@ -10,13 +10,13 @@ import Foundation class UpcomingDisplayDataCollection { let dayFormatter = NSDateFormatter() - var sections : Dictionary = Dictionary() + var sections : Dictionary = Dictionary() init() { dayFormatter.dateFormat = NSDateFormatter.dateFormatFromTemplate("EEEE", options: 0, locale: NSLocale.autoupdatingCurrentLocale()) } - func addUpcomingItems(upcomingItems: UpcomingItem[]) { + func addUpcomingItems(upcomingItems: [UpcomingItem]) { for upcomingItem in upcomingItems { addUpcomingItem(upcomingItem) } @@ -28,11 +28,11 @@ class UpcomingDisplayDataCollection { } func addDisplayItem(displayItem: UpcomingDisplayItem, dateRelation: NearTermDateRelation) { - if var realSection : UpcomingDisplayItem[] = sections[dateRelation] { + if var realSection : [UpcomingDisplayItem] = sections[dateRelation] { realSection.append(displayItem) sections[dateRelation] = realSection } else { - var newSection : UpcomingDisplayItem[] = [] + var newSection : [UpcomingDisplayItem] = [] newSection.append(displayItem) sections[dateRelation] = newSection } @@ -53,7 +53,7 @@ class UpcomingDisplayDataCollection { } func collectedDisplayData() -> UpcomingDisplayData { - let collectedSections : UpcomingDisplaySection[] = sortedUpcomingDisplaySections() + let collectedSections : [UpcomingDisplaySection] = sortedUpcomingDisplaySections() return UpcomingDisplayData(sections: collectedSections) } @@ -65,14 +65,14 @@ class UpcomingDisplayDataCollection { return UpcomingDisplaySection(name: sectionTitle, imageName: imageName, items: items) } - func sortedUpcomingDisplaySections() -> UpcomingDisplaySection[] { + func sortedUpcomingDisplaySections() -> [UpcomingDisplaySection] { let keys = sortedNearTermDateRelations() - var displaySections : UpcomingDisplaySection[] = [] + var displaySections : [UpcomingDisplaySection] = [] for dateRelation in keys { var itemArray = sections[dateRelation] - if itemArray { + if (itemArray != nil) { var displaySection = displaySectionForDateRelation(dateRelation) displaySections.insert(displaySection, atIndex: displaySections.endIndex) } @@ -81,8 +81,8 @@ class UpcomingDisplayDataCollection { return displaySections } - func sortedNearTermDateRelations() -> NearTermDateRelation[] { - var array : NearTermDateRelation[] = [] + func sortedNearTermDateRelations() -> [NearTermDateRelation] { + var array : [NearTermDateRelation] = [] array.insert(NearTermDateRelation.Today, atIndex: 0) array.insert(NearTermDateRelation.Tomorrow, atIndex: 1) array.insert(NearTermDateRelation.LaterThisWeek, atIndex: 2) diff --git a/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplaySection.swift b/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplaySection.swift index 5164a31..abe4278 100755 --- a/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplaySection.swift +++ b/VIPER-SWIFT/Classes/Modules/List/User Interface/Presenter/UpcomingDisplaySection.swift @@ -12,15 +12,15 @@ import Foundation struct UpcomingDisplaySection : Equatable { let name : String = "" let imageName : String = "" - var items : UpcomingDisplayItem[] = [] + var items : [UpcomingDisplayItem] = [] - init(name: String, imageName: String, items: UpcomingDisplayItem[]?) { + init(name: String, imageName: String, items: [UpcomingDisplayItem]?) { self.name = name self.imageName = imageName - if items { + if (items != nil) { self.items = items! - self.items.unshare() + //self.items.unshare() } } } diff --git a/VIPER-SWIFT/Classes/Modules/List/User Interface/View/ListViewController.swift b/VIPER-SWIFT/Classes/Modules/List/User Interface/View/ListViewController.swift index 954c4bd..46d13de 100755 --- a/VIPER-SWIFT/Classes/Modules/List/User Interface/View/ListViewController.swift +++ b/VIPER-SWIFT/Classes/Modules/List/User Interface/View/ListViewController.swift @@ -16,7 +16,7 @@ class ListViewController : UITableViewController, ListViewInterface { var dataProperty : UpcomingDisplayData? var strongTableView : UITableView? - @IBOutlet var noContentView : UIView + @IBOutlet var noContentView : UIView? override func viewDidLoad() { super.viewDidLoad() @@ -44,11 +44,11 @@ class ListViewController : UITableViewController, ListViewInterface { } func showNoContentMessage() { - view = noContentView + view = noContentView! } func showUpcomingDisplayData(data: UpcomingDisplayData) { - view = strongTableView + view = strongTableView! dataProperty = data reloadEntries() @@ -58,7 +58,7 @@ class ListViewController : UITableViewController, ListViewInterface { tableView.reloadData() } - override func numberOfSectionsInTableView(tableView: UITableView!) -> Int { + override func numberOfSectionsInTableView(tableView: UITableView) -> Int { var numberOfSections = dataProperty?.sections.count if dataProperty?.sections.count == nil { @@ -68,25 +68,25 @@ class ListViewController : UITableViewController, ListViewInterface { return numberOfSections! } - override func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int { + override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { let upcomingSection = dataProperty?.sections[section] return upcomingSection!.items.count } - override func tableView(tableView: UITableView!, titleForHeaderInSection section: Int) -> String! { + override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String { let upcomingSection = dataProperty?.sections[section] return upcomingSection!.name } - override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { + override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let upcomingSection = dataProperty?.sections[indexPath.section] let upcomingItem = upcomingSection!.items[indexPath.row] let cell = tableView.dequeueReusableCellWithIdentifier(ListEntryCellIdentifier, forIndexPath: indexPath) as UITableViewCell - cell.textLabel.text = upcomingItem.title; - cell.detailTextLabel.text = upcomingItem.dueDate; - cell.imageView.image = UIImage(named: upcomingSection!.imageName) + cell.textLabel!.text = upcomingItem.title; + cell.detailTextLabel!.text = upcomingItem.dueDate; + cell.imageView!.image = UIImage(named: upcomingSection!.imageName) cell.selectionStyle = UITableViewCellSelectionStyle.None; return cell diff --git a/VIPER-SWIFTTests/RelativeDateTests.swift b/VIPER-SWIFTTests/RelativeDateTests.swift index 48a20f9..d4baa5c 100755 --- a/VIPER-SWIFTTests/RelativeDateTests.swift +++ b/VIPER-SWIFTTests/RelativeDateTests.swift @@ -39,8 +39,8 @@ class RelativeDateTests: XCTestCase { } func testTomorrowDuringNextWeekRelatesAsNextWeek() { - let date = calendar.dateWithYear(2004, month: 10, day: 10) - let today = calendar.dateWithYear(2004, month: 10, day: 9) + let date = calendar.dateWithYear(2014, month: 9, day: 14) + let today = calendar.dateWithYear(2014, month: 9, day: 13) let relation = calendar.nearTermRelationForDate(date, relativeToToday: today) XCTAssertEqual(relation, NearTermDateRelation.NextWeek, "\(date) should be next week.") }