In this SwiftUI tutorial, I learned how to create my very first Core Data application using the Swift programming language in Xcode. I discovered how easy it was to get started with all the resources provided in Xcode, from using the starter Core Data code template to the Core Data Model editor.
The project I worked on was a TODO app with Core Data. I developed an outstanding iOS and iPadOS application using SwiftUI.
In addition to the main Todo functionality, I also learned how to build some extra features. For example, I explored Alternate App Icons and learned how to dynamically change app icons in my iOS apps. Additionally, I delved into App Color Themes, subtle user interface animations, and more.
- Build an impressive Todo iOS and iPadOS application.
- Save data permanently to the local database with Core Data.
- Add priority for the Todo items.
- Delete Todo items and update the database with SwiftUI.
- Create an outstanding home screen with custom illustrations and quotes.
- Build a complex Settings view with many sections.
- Develop a new feature: alternative icons with nine custom app icons.
- Develop a new feature: App Color Themes with three schemes.
- Open external links like web pages, Twitter app, etc.
- Create subtle animations and enhance the general UI and UX.
- Support Dark/Light mode user interfaces with SwiftUI.
- Support the todo list in wide iPad screens.
The images below show screenshots of the home screen, the Todo notes and the settings view page of the App.
![](https://private-user-images.githubusercontent.com/86229307/252316567-28f9a138-dd89-4189-9554-613df89c5962.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU1OTY1NzcsIm5iZiI6MTcyNTU5NjI3NywicGF0aCI6Ii84NjIyOTMwNy8yNTIzMTY1NjctMjhmOWExMzgtZGQ4OS00MTg5LTk1NTQtNjEzZGY4OWM1OTYyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA2VDA0MTc1N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJhNDZmOWZmMWE3ODk0NTRmNDAxOGE5OGU3NDJjN2RjOWU2OGE2ODQ0YTg2MjcwODhjZWI1YWQ3ZTU5MzZiMTYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7LmkIJATL6v9M3qxJUZrzZm8yuLkd-Gg8a5lsWro3os)
![](https://private-user-images.githubusercontent.com/86229307/252317043-f0b41c72-210a-4b40-a80d-bd98153f903b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU1OTY1NzcsIm5iZiI6MTcyNTU5NjI3NywicGF0aCI6Ii84NjIyOTMwNy8yNTIzMTcwNDMtZjBiNDFjNzItMjEwYS00YjQwLWE4MGQtYmQ5ODE1M2Y5MDNiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA2VDA0MTc1N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdmNDdjYmMxYmVmMTRkYjg2MjU2MjVhOWQ0ZGJhYzMyNmM4NGVkMWU0ZmY1Y2UxMDJmYjEzYjRlYmNjMjQ3MTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.x7q7wlo7q2IW7ussk4Kx23eh2sCoIBQKhlAjH2tcOUw)
![](https://private-user-images.githubusercontent.com/86229307/252317158-ff41f003-6dc1-4ea1-b237-e0bde4150554.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU1OTY1NzcsIm5iZiI6MTcyNTU5NjI3NywicGF0aCI6Ii84NjIyOTMwNy8yNTIzMTcxNTgtZmY0MWYwMDMtNmRjMS00ZWExLWIyMzctZTBiZGU0MTUwNTU0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA2VDA0MTc1N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTUzNTZjNWUzOTQwNTU5YWZlMmVlOWFjODIxNTI1OGU5MGUxNTcxYjFjOWQ4OGFiNGIxODVhNmFmYTA3NjhjODUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.NGqutVpDCEffSBx_yYmOyxCwgitx7ZJffmEbCOvwEGQ)