Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes for Swift Beta updates #2

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ 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
}
Expand All @@ -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
}

Expand Down
6 changes: 3 additions & 3 deletions VIPER-SWIFT/Classes/Common/Store/CoreDataStore.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class CoreDataStore : NSObject {
var managedObjectModel : NSManagedObjectModel?
var managedObjectContext : NSManagedObjectContext?

init() {
override init() {
managedObjectModel = NSManagedObjectModel.mergedModelFromBundles(nil)

persistentStoreCoordinator = NSPersistentStoreCoordinator(managedObjectModel: managedObjectModel)
Expand All @@ -46,14 +46,14 @@ 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)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ 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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ protocol ListInteractorInput {
}

protocol ListInteractorOutput {
func foundUpcomingItems(upcomingItems: UpcomingItem[])
func foundUpcomingItems(upcomingItems: [UpcomingItem])
}
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@ class ListPresenter : NSObject, ListInteractorOutput, ListModuleInterface, AddMo
listInteractor?.findUpcomingItems()
}

func foundUpcomingItems(upcomingItems: UpcomingItem[]) {
func foundUpcomingItems(upcomingItems: [UpcomingItem]) {
if upcomingItems.count == 0 {
userInterface?.showNoContentMessage()
} else {
updateUserInterfaceWithUpcomingItems(upcomingItems)
}
}

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()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@
import Foundation

struct UpcomingDisplayData : Equatable {
let sections : UpcomingDisplaySection[] = []
let sections : [UpcomingDisplaySection] = []

init(sections: UpcomingDisplaySection[]) {
init(sections: [UpcomingDisplaySection]) {
self.sections = sections
self.sections.unshare()
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ import Foundation

class UpcomingDisplayDataCollection {
let dayFormatter = NSDateFormatter()
var sections : Dictionary<NearTermDateRelation, UpcomingDisplayItem[]> = Dictionary()
var sections : Dictionary<NearTermDateRelation, [UpcomingDisplayItem]> = 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)
}
Expand All @@ -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
}
Expand All @@ -53,7 +53,7 @@ class UpcomingDisplayDataCollection {
}

func collectedDisplayData() -> UpcomingDisplayData {
let collectedSections : UpcomingDisplaySection[] = sortedUpcomingDisplaySections()
let collectedSections : [UpcomingDisplaySection] = sortedUpcomingDisplaySections()
return UpcomingDisplayData(sections: collectedSections)
}

Expand All @@ -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)
}
Expand All @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,14 @@ 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()
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down