ToDoApp is a simple iOS application designed to help users manage their tasks efficiently. With this app, users can add, delete, and sort tasks based on their names or due dates. Additionally, the app provides notifications to remind users of pending tasks.
- Add Tasks: Users can easily add new tasks to their list along with a due date and hour.
- Delete Tasks: Tasks can be deleted individually by swiping left on them.
- Sort by Name: Tasks can be sorted alphabetically by their names.
- Sort by Date: Tasks can be sorted chronologically based on their due dates.
- Notifications: Users receive notifications on the day a task is due, reminding them to complete it.
- Permission Handling: The app handles permission requests for notifications gracefully, ensuring a smooth user experience.
To get started with the ToDo List App, follow these steps:
- Clone the Repository: Clone this repository to your local machine using
git clone
. - Open in Xcode: Open the project in Xcode by double-clicking the
.xcodeproj
file. - Build and Run: Build and run the project on a simulator or a physical device.
- Explore: Explore the app's features, add tasks, sort them, and observe the notification functionality.
- Xcode 12 or later
- iOS 12.0 or later
The ToDo List App utilizes UIKit, Apple's UI framework for building iOS applications. With UIKit, the app provides a familiar and intuitive user interface, making it easy for users to interact with their task lists.
The app leverages system notifications provided by iOS to remind users of pending tasks. By integrating with the UserNotifications framework, the app schedules notifications for the due dates of tasks. When a task's due date arrives, users receive a notification on their device, prompting them to complete the task.
The ToDo List App employs the insertion sort algorithm to sort tasks alphabetically by name or chronologically by due date. Insertion sort is a simple sorting algorithm that iterates through an array, gradually building a sorted section of the array by shifting elements one position at a time until the entire array is sorted. This algorithm is well-suited for small data sets, making it efficient for sorting tasks in the ToDo List App.
The app utilizes the UserDefaults class provided by Swift to store and manage data locally on the user's device. UserDefaults is a simple property list where small amounts of data can be stored efficiently, making it an ideal solution for to-do list app. By leveraging UserDefaults, we can ensure that the user's tasks are always available and up-to-date, providing a seamless and convenient user experience.
Contributions are welcome! If you find any bugs or have suggestions for new features, please open an issue or submit a pull request.
This README was created by Maria Concetta Arena.