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
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
iOS 18 Programming for Beginners

You're reading from   iOS 18 Programming for Beginners Learn iOS development with Swift 6, Xcode 16, and iOS 18 - your path to App Store success

Arrow left icon
Product type Paperback
Published in Dec 2024
Publisher Packt
ISBN-13 9781836204893
Length
Edition 9th Edition
Languages
Tools
Arrow right icon
Toc

Table of Contents (34) Chapters Close

Preface 1. Part 1: Swift FREE CHAPTER
2. Exploring Xcode 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 2: Design
12. Setting Up the User Interface 13. Building Your User Interface 14. Finishing Up Your User Interface 15. Modifying App Screens 16. Part 3: Code
17. Getting Started with MVC and Table Views 18. Getting Data into Table Views 19. Passing Data between View Controllers 20. Getting Started with Core Location and MapKit 21. Getting Started with JSON Files 22. Getting Started with Custom Views 23. Getting Started with the Camera and Photo Library 24. Getting Started with Search 25. Getting Started with Collection Views 26. Part 4: Features
27. Getting Started with SwiftData 28. Getting Started with SwiftUI 29. Getting Started with Swift Testing 30. Getting Started with Apple Intelligence 31. Testing and Submitting Your App to the App Store 32. Other Books You May Enjoy
33. Index

Introducing Swift Testing

If you are the lead developer of a large project involving many developers, it would not be practical for you to review everyone’s source code in detail, and in some cases, you would not be able to view the source code at all. Instead, you would issue specifications on what a class is supposed to do, and it would be the developer’s job to write the class for you.

As an example, let’s look at the initializer code for the JournalEntry class in the JRNL app:

init?(rating: Int, title: String, body: String, photo: UIImage? = nil, latitude: Double? = nil, longitude: Double? = nil) {
  if title.isEmpty || body.isEmpty || rating < 0 ||    rating > 5 {
    return nil
  }
  self.date = Date()
  self.rating = rating
  self.title = title
  self.body = body
  self.photoData = photo?.jpegData(compressionQuality: 1.0)
  self.latitude = latitude
  self.longitude = longitude
}

As you can see, you can only create valid JournalEntry...

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