This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course.
通过 Coursera Plus 提高技能,仅需 239 美元/年(原价 399 美元)。立即节省

推荐体验
推荐体验
中级
Ideal for iOS developers with a basic understanding of Swift and app development. Some familiarity with SwiftUI is beneficial but not required.
推荐体验
推荐体验
中级
Ideal for iOS developers with a basic understanding of Swift and app development. Some familiarity with SwiftUI is beneficial but not required.
您将学到什么
Implement complex data management features using SwiftData in iOS apps.
Design custom SwiftUI components and views to enhance app interaction.
Integrate CloudKit for syncing app data across devices seamlessly.
Use concurrency in SwiftData to optimize app performance and data handling.
您将获得的技能
要了解的详细信息

添加到您的领英档案
December 2025
8 项作业
了解顶级公司的员工如何掌握热门技能

该课程共有7个模块
In this module, we will introduce the course and explain the essential goals of mastering SwiftData and SwiftUI. You'll gain an understanding of the technologies used in iOS development and what you’ll learn in the upcoming sections.
涵盖的内容
1个视频1篇阅读材料
1个视频•总计2分钟
- Introduction•2分钟
1篇阅读材料•总计10分钟
- Full Course Resources•10分钟
In this module, we will build a Todo app to explore key concepts like queries, fetch descriptors, and CloudKit integration. You'll learn how to manage data and sync it seamlessly across devices while implementing common app functionalities.
涵盖的内容
13个视频1个作业
13个视频•总计99分钟
- Project Setup•2分钟
- Query Example - Add, Delete, Sort•14分钟
- Query Example - Adding a List and a Date Picker•3分钟
- Query Example - Add Todo Functionality•4分钟
- Query Example - Delete Todo Functionality•3分钟
- Query Example - Is Completed•6分钟
- Query Example - Queries, Predicates and Filters•8分钟
- Query Example - Our First Fetch Descriptor•8分钟
- Query Example - Today's Todos Fetch Descriptor•7分钟
- Query Example - Adding a Set of Tags•17分钟
- Query Example - Refactoring•15分钟
- Integrating CloudKit•6分钟
- Testing CloudKit Integration•5分钟
1个作业•总计15分钟
- Exploring queries, fetch descriptors and CloudKit via a Todo App - Assessment•15分钟
In this module, we will dive into building a contacts app. You’ll learn how to set up your data model with SwiftData, create a user-friendly interface, and implement key features such as adding, deleting, and searching contacts.
涵盖的内容
27个视频1个作业
27个视频•总计128分钟
- Introduction to the Contacts App•1分钟
- Setting up the Model•5分钟
- Custom TextField•5分钟
- Creating the List View and our First Queries•6分钟
- Sort and Toggle View and our First Queries•7分钟
- Groundwork for Advanced Filter UI•6分钟
- Sorted and Filtered Contacts•4分钟
- ContactRowItemView•6分钟
- Show Phone and Address•2分钟
- Avatar View•8分钟
- Add a Contact Sheet•6分钟
- Setting up the ContactFormView•10分钟
- Required Information in the ContactFormView•5分钟
- Optional Information in the ContactFormView•2分钟
- Cancel, Save and Title in the ContactFormView•4分钟
- Photopicker and the Avatar•3分钟
- Load Image•8分钟
- Email Validation•3分钟
- Applying the Contact Form View•2分钟
- Delete Contact•2分钟
- Filtering using Predicates•7分钟
- Filter Picker View•9分钟
- Show Number Address•4分钟
- Adding the Search Functionality•3分钟
- Content Unavailable View•3分钟
- Splash Screen View•6分钟
- Reverse Contacts List•3分钟
1个作业•总计15分钟
- Contacts App - Assessment•15分钟
In this module, we will build an undo/redo manager using Verba. You'll create a dynamic app where users can easily undo and redo their changes, all while understanding the architecture that supports this functionality.
涵盖的内容
14个视频1个作业
14个视频•总计83分钟
- Project Setup•1分钟
- TextEntry Model•1分钟
- Generate Initials•3分钟
- Structuring the View Model•9分钟
- Row View•12分钟
- Main View - Edit and Delete Buttons•5分钟
- Main View - Initializing the View Model, Model Context and Undo Manager•6分钟
- Completing the Main View•8分钟
- Implementing CRUD in the ViewModel•8分钟
- Implementing Redo and Undo in the ViewModel•10分钟
- Running the App•6分钟
- Undo/Redo Aware Modifier•7分钟
- Device Shake View Modifier•6分钟
- Shake Alert•2分钟
1个作业•总计15分钟
- Undo/Redo Manager with Verba - Assessment•15分钟
In this module, we will build a Book Library app, focusing on creating relationships between different models and performing migrations. You’ll also learn how to inspect and manage data within a database, crucial for larger apps.
涵盖的内容
15个视频1个作业
15个视频•总计143分钟
- Introduction•2分钟
- The Book and Author Models•4分钟
- Creating the Main View•10分钟
- Finalizing the Main View•14分钟
- Edit Author View•13分钟
- The Sheet•5分钟
- Final Touches•6分钟
- Examining the Database•3分钟
- Relationships 1-1, 1-Many, Many-Many•13分钟
- Creating the Relationship View•11分钟
- Adding and Deleting Data•14分钟
- Exploring the Unique Attribute•3分钟
- Integrating Mock Data for Previews•13分钟
- A Generic Method for Displaying Mock Data in Previews•13分钟
- Lightweight Migrations in SwiftData•19分钟
1个作业•总计15分钟
- A Book Library: Mock Data, Migrations, Relationships & Database Inspection - Assessment•15分钟
In this module, we will build an app called Meshify, which allows you to create advanced mesh gradients. You’ll work through model creation, drag-and-drop interactions, and extend the project to offer more advanced features like color matrix generation.
涵盖的内容
40个视频1个作业
40个视频•总计298分钟
- Meshify Project Setup•3分钟
- The Mesh Model•2分钟
- Sample Mesh and the Code View•10分钟
- Drag and Drop using .onDrag•11分钟
- Points and Colors to Code•16分钟
- Completing the Code View•13分钟
- Identifier Validation•8分钟
- Rethinking the Mesh Model•2分钟
- Refining the Mesh Model and Introducing the ColorPointPair Model•8分钟
- Enhancing the Mesh Model with Computed Properties and a Sample Mesh•7分钟
- Motivating the Mesh Model Code Extension•3分钟
- Implementing the Mesh Model Code Extension•10分钟
- Finalizing the Mesh Model Code Extension for the Extended Code Case•10分钟
- Organizing the Main View•17分钟
- Mesh Configure View•10分钟
- Integrating the Mesh Configuration View into the Main View•6分钟
- Random Color Matrix and a Custom MeshModel Initializer•8分钟
- Extending SIMD2 with Default Points•10分钟
- Transitioning from MeshModel to MeshGradients•11分钟
- New Mesh Button•3分钟
- Building the Mesh List View•9分钟
- Finalizing the Mesh List View with CRUD Functionality•23分钟
- Evaluating the Mesh List View•5分钟
- Implementing the MeshListRowView•7分钟
- Implementing the IconListRowView•4分钟
- Configuring the MeshDetailView•9分钟
- Integrating Toolbar Items into the MeshDetailView•4分钟
- Adding Drag Gesture Support to MeshDetailView•5分钟
- Updating Sorted Color Point Pairs in MeshModel Using Drag Gesture•5分钟
- CheckerBoardView•5分钟
- Setting up the PropertiesView•4分钟
- Building the PropertiesView Form•9分钟
- Integrating the Background Popover into the PropertiesView•1分钟
- Developing the Color Selection View•10分钟
- The toColor String Extension•2分钟
- Properties View Background Color Editor•5分钟
- SelectionView in the Properties Panel•8分钟
- Square View•5分钟
- Finalizing the SelectionView•7分钟
- Minor Tweaks to Meshify's Property View•3分钟
1个作业•总计15分钟
- Meshify - Assessment•15分钟
In this module, we will cover the importance of concurrency in SwiftData. Through examples, you’ll see how to handle large datasets efficiently, with practical use cases such as batch loading articles and enhancing app performance with multi-threading.
涵盖的内容
11个视频3个作业
11个视频•总计75分钟
- Introduction to SwiftData and Concurrency•5分钟
- Finalizing the Basic Heroes Demo•5分钟
- Limitations of the Naive Hero Loader•2分钟
- Concurrency to the Rescue- Revisiting the Hero Example•9分钟
- Modeling and Saving Articles with SwiftData and @ModelActor•3分钟
- Generating and Persisting Dummy News Articles with SwiftData•7分钟
- News List View•7分钟
- Completing the News List View UI•7分钟
- Adding loadMoreArticles and scrollToBottom Functionality to the News List View•5分钟
- Exchanging the UI with a Progress Bar and Batch Loading•16分钟
- Creating an Animated Mesh Gradient Background•8分钟
3个作业•总计90分钟
- Full Course Practice Assessment•15分钟
- Concurrency and Swift Data - Assessment•15分钟
- Full Course Assessment•60分钟
位教师

提供方

提供方

Packt helps tech professionals put software to work by distilling and sharing the working knowledge of their peers. Packt is an established global technical learning content provider, founded in Birmingham, UK, with over twenty years of experience delivering premium, rich content from groundbreaking authors on a wide range of emerging and popular technologies.
从 Software Development 浏览更多内容
状态:免费试用免费试用
状态:免费试用免费试用
状态:免费试用免费试用课程
人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
常见问题
SwiftData and SwiftUI are Apple’s modern frameworks designed to streamline iOS app development. SwiftUI simplifies UI creation through a declarative syntax, while SwiftData provides a native, lightweight data persistence solution integrated with modern Swift features. Together, they enable developers to build powerful, responsive, and data-driven apps efficiently. Their relevance lies in replacing older, more complex frameworks like Core Data and UIKit, making them essential for modern iOS development.
This course offers a deep dive into mastering SwiftData and SwiftUI to build dynamic and efficient iOS applications. It covers key concepts such as data modeling, queries, predicates, CloudKit integration, and concurrency management. Through hands-on projects—including a Todo App, Contacts App, Undo/Redo Manager, Book Library system, and advanced Meshify visual editor—you’ll gain real-world experience in building scalable, feature-rich applications using Apple’s latest frameworks.
After completing this course, you will be able to confidently design, develop, and deploy iOS applications using SwiftData and SwiftUI. You’ll understand how to manage data persistence, implement CRUD operations, handle concurrency, and integrate CloudKit for cloud-based synchronization. Additionally, you’ll learn to create interactive UIs, optimize database performance, and utilize advanced Swift concepts like @ModelActor, lightweight migrations, and dynamic UI updates for production-level apps.
A basic understanding of Swift programming and Xcode is recommended before starting this course. Familiarity with foundational iOS concepts such as views, navigation, and simple data handling will be helpful. However, the course is structured to guide learners through both the fundamentals and advanced topics, making it suitable for developers transitioning into SwiftUI and SwiftData.
This course is designed for iOS developers, Swift enthusiasts, and software engineers who want to master Apple’s latest development frameworks. It’s ideal for learners aiming to upgrade from UIKit and Core Data to SwiftUI and SwiftData or anyone seeking to build robust, cloud-connected, and data-driven iOS applications with modern architecture.
The course includes approximately 13 hours of video content. Depending on your learning pace and practice time, it can be completed in about two to three weeks, allowing sufficient time to experiment with each project and reinforce your understanding through coding exercises.
This course is highly practical, emphasizing hands-on learning through real-world projects. Each module involves building fully functional iOS applications that demonstrate key concepts in SwiftUI and SwiftData. While essential theory is explained to reinforce understanding, the main focus is on applying concepts through active coding.
Yes, you will need a Mac computer with Xcode installed, preferably the latest version that supports SwiftData and SwiftUI. No additional paid software is required—everything used in the course relies on Apple’s free development tools. Access to an Apple Developer account is optional but recommended if you wish to test your apps on physical devices.
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.
If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.
This course is currently available only to learners who have paid or received financial aid, when available.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
更多问题
提供助学金,


