Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
iOS 16 Programming for Beginners

You're reading from   iOS 16 Programming for Beginners Kickstart your iOS app development journey with a hands-on guide to Swift 5.7 and Xcode 14

Arrow left icon
Product type Paperback
Published in Nov 2022
Publisher Packt
ISBN-13 9781803237046
Length 686 pages
Edition 7th Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
Ahmad Sahar Ahmad Sahar
Author Profile Icon Ahmad Sahar
Ahmad Sahar
Craig Clayton Craig Clayton
Author Profile Icon Craig Clayton
Craig Clayton
Arrow right icon
View More author details
Toc

Table of Contents (34) Chapters Close

Preface 1. Part I: Swift
2. Getting Familiar with Xcode FREE CHAPTER 3. Simple Values and Types 4. Conditionals and Optionals 5. Range Operators and Loops 6. Collection Types 7. Functions and Closures 8. Classes, Structures, and Enumerations 9. Protocols, Extensions, and Error Handling 10. Swift Concurrency 11. Part II: Design
12. Setting Up the User Interface 13. Building Your User Interface 14. Finishing Up Your User Interface 15. Modifying and Configuring Cells 16. Part III: Code
17. Getting Started with MVC and Collection Views 18. Getting Data into Collection Views 19. Getting Started with Table Views 20. Getting Started with MapKit 21. Getting Started with JSON Files 22. Displaying Data in a Static Table View 23. Getting Started with Custom UIControls 24. Getting Started with Cameras and Photo Libraries 25. Understanding Core Data 26. Part IV: Features
27. Getting Started with Mac Catalyst 28. Getting Started with SwiftUI 29. Getting Started with Lock Screen Widgets 30. Getting Started with WeatherKit 31. Testing and Submitting Your App to the App Store 32. Other Books You May Enjoy
33. Index

Calculating a restaurant’s overall rating

The Restaurant Detail screen’s overall rating label displays 0.0, and the ratings view displays 3.5 stars, regardless of the actual rating. To add an overall rating, you need to get the ratings from all the reviews and average them. Let’s add a new method to CoreDataManager to do this. Follow these steps:

  1. Click the CoreDataManager file inside the Project navigator (inside the Core Data folder in the Misc folder). Add the following method before the addReview(_:) method:
    func fetchRestaurantRating(by identifier: Int) -> 
    Double { 
       let reviewItems = fetchReviews(by: identifier)
       let sum = reviewItems.reduce(0, {$0 + 
       ($1.rating ?? 0)}) 
       return sum / Double(reviewItems.count)
    }
    

    In this method, all reviews for a particular restaurant are fetched from the persistent store and assigned to reviews. The reduce() method takes a closure, which is used to add all the review ratings together...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image