Book Image

iOS 15 Programming for Beginners - Sixth Edition

By : Ahmad Sahar, Craig Clayton
5 (1)
Book Image

iOS 15 Programming for Beginners - Sixth Edition

5 (1)
By: Ahmad Sahar, Craig Clayton

Overview of this book

With almost 2 million apps on the App Store, iOS mobile apps continue to be incredibly popular. Anyone can reach millions of customers around the world by publishing their apps on the App Store. iOS 15 Programming for Beginners is a comprehensive introduction for those who are new to iOS. It covers the entire process of learning the Swift language, writing your own app, and publishing it on the App Store. Complete with hands-on tutorials, projects, and self-assessment questions, this easy-to-follow guide will help you get well-versed with the Swift language to build your apps and introduce exciting new technologies that you can incorporate into your apps. You'll learn how to publish iOS apps and work with Mac Catalyst, SharePlay, SwiftUI, Swift concurrency, and much more. By the end of this iOS development book, you'll have the knowledge and skills to write and publish interesting apps, and more importantly, to use the online resources available to enhance your app development journey.
Table of Contents (32 chapters)
1
Part 1: Swift
10
Part 2: Design
15
Part 3: Code
25
Part 4: Features

Creating the ImageFiltering protocol

You need a way to apply a filter to an image. You will create a protocol, ImageFiltering, that implements a method, apply(filter:to:), to do this. Any class that adopts this protocol will have access to this method, which applies a specified filter to an image. Follow these steps:

  1. Right-click the PhotoFilter folder and select New File.
  2. iOS should already be selected. Choose Swift File and click Next.
  3. Name this file ImageFiltering. Click Create. The ImageFiltering file will appear in the Project navigator.
  4. Modify the code in this file to declare and define the ImageFiltering protocol:
    import UIKit 
    import CoreImage
    protocol ImageFiltering {
       func apply(filter: String, originalImage: 
       UIImage) -> UIImage
    }
    extension ImageFiltering {
       func apply(filter: String, originalImage: 
       UIImage) -> UIImage {
          let initialCIImage =...