Close Menu
geekfence.comgeekfence.com
    What's Hot

    ClickFix attackers using new tactic to evade detection, says Microsoft – Computerworld

    March 7, 2026

    M&A Monthly: February/March 2026

    March 7, 2026

    Posit AI Blog: luz 0.4.0

    March 7, 2026
    Facebook X (Twitter) Instagram
    • About Us
    • Contact Us
    Facebook Instagram
    geekfence.comgeekfence.com
    • Home
    • UK Tech News
    • AI
    • Big Data
    • Cyber Security
      • Cloud Computing
      • iOS Development
    • IoT
    • Mobile
    • Software
      • Software Development
      • Software Engineering
    • Technology
      • Green Technology
      • Nanotechnology
    • Telecom
    geekfence.comgeekfence.com
    Home»iOS Development»Swift prototype design pattern – The.Swift.Dev.
    iOS Development

    Swift prototype design pattern – The.Swift.Dev.

    AdminBy AdminFebruary 16, 2026No Comments3 Mins Read1 Views
    Facebook Twitter Pinterest LinkedIn Telegram Tumblr Email
    Swift prototype design pattern – The.Swift.Dev.
    Share
    Facebook Twitter LinkedIn Pinterest Email


    6/8/18 2:20 PM
    · 1 min read


    The prototype design pattern is used to create clones of a base object, so let’s see some practical examples written in Swift.

    This is also a creational design pattern, it is useful when you have a very basic configuration for an object and you’d like to give (clone) those predefined values to another one. Basically you’re making clones from a prototype objects. 😊😊😊

    This approach has some benefits, one is for example that you don’t have to subclass, but you can configure clones individually. This also means that you can remove a bunch of boilerplate (configuration) code if you are going to use prototypes. 🤔

    class Paragraph {
    
        var font: UIFont
        var color: UIColor
        var text: String
    
        init(font: UIFont = UIFont.systemFont(ofSize: 12),
             color: UIColor = .darkText,
             text: String = "") {
    
            self.font = font
            self.color = color
            self.text = text
        }
    
        func clone() -> Paragraph {
            return Paragraph(font: self.font, color: self.color, text: self.text)
        }
    }
    
    let base = Paragraph()
    
    let title = base.clone()
    title.font = UIFont.systemFont(ofSize: 18)
    title.text = "This is the title"
    
    let first = base.clone()
    first.text = "This is the first paragraph"
    
    let second = base.clone()
    second.text = "This is the second paragraph"
    

    As you can see the implementation is just a few lines of code. You only need a default initializer and a clone method. Everything will be pre-configured for the prototype object in the init method and you can make your clones using the clone method, but that’s pretty obvious at this point… 🤐

    Let’s take a look at one more example:

    class Paragraph {
    
        var font: UIFont
        var color: UIColor
        var text: String
    
        init(font: UIFont = UIFont.systemFont(ofSize: 12),
             color: UIColor = .darkText,
             text: String = "") {
    
            self.font = font
            self.color = color
            self.text = text
        }
    
        func clone() -> Paragraph {
            return Paragraph(font: self.font, color: self.color, text: self.text)
        }
    }
    
    let base = Paragraph()
    
    let title = base.clone()
    title.font = UIFont.systemFont(ofSize: 18)
    title.text = "This is the title"
    
    let first = base.clone()
    first.text = "This is the first paragraph"
    
    let second = base.clone()
    second.text = "This is the second paragraph"
    

    The prototype design pattern is also helpful if you are planning to have snapshots of a given state. For example in a drawing app, you could have a shape class as a proto, you can start adding paths to it, and at some point at time you could create a snapshot from it. You can continue to work on the new object, but this will give you the ability to return to a saved state at any point of time in the future. 🎉

    That’s it about the prototype design pattern in Swift, in a nuthsell. 🐿


    Swift prototype design pattern – The.Swift.Dev.

    Share this article

    Thank you. 🙏

    Related posts

    Swift prototype design pattern – The.Swift.Dev.

    11/27/20 3:20 PM
    · 6 min read


    In this article I am going to show you how to implement a basic event processing system for your modular Swift application.

    Swift prototype design pattern – The.Swift.Dev.

    8/19/18 2:20 PM
    · 4 min read


    Learn the iterator design pattern by using some custom sequences, conforming to the IteratorProtocol from the Swift standard library.

    Swift prototype design pattern – The.Swift.Dev.

    12/17/18 3:20 PM
    · 4 min read


    Learn how to use lazy properties in Swift to improve performance, avoid optionals or just to make the init process more clean.

    Swift prototype design pattern – The.Swift.Dev.

    8/12/22 2:20 PM
    · 5 min read


    Beginner’s guide about optics in Swift. Learn how to use lenses and prisms to manipulate objects using a functional approach.



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email

    Related Posts

    I wish I could be an OpenClaw Maintainer

    March 7, 2026

    Swift factory method design pattern

    March 6, 2026

    react native – How to solve “”xcodebuild” exited with error code 65.“ – error from npx expo run:ios?

    March 5, 2026

    Post | Cocoanetics

    March 1, 2026

    Swift abstract factory design pattern

    February 28, 2026

    Flutter: Force portrait UI on tablets (iOS + Android) even when device is landscape, but avoid letterboxing / black bars

    February 27, 2026
    Top Posts

    Hard-braking events as indicators of road segment crash risk

    January 14, 202619 Views

    Understanding U-Net Architecture in Deep Learning

    November 25, 202518 Views

    How to integrate a graph database into your RAG pipeline

    February 8, 202610 Views
    Don't Miss

    ClickFix attackers using new tactic to evade detection, says Microsoft – Computerworld

    March 7, 2026

    “And all Windows computers should already be restricted so that random, unsigned (not signed by…

    M&A Monthly: February/March 2026

    March 7, 2026

    Posit AI Blog: luz 0.4.0

    March 7, 2026

    Top Reasons to Choose Precisely for SAP and Salesforce Process Automation

    March 7, 2026
    Stay In Touch
    • Facebook
    • Instagram
    About Us

    At GeekFence, we are a team of tech-enthusiasts, industry watchers and content creators who believe that technology isn’t just about gadgets—it’s about how innovation transforms our lives, work and society. We’ve come together to build a place where readers, thinkers and industry insiders can converge to explore what’s next in tech.

    Our Picks

    ClickFix attackers using new tactic to evade detection, says Microsoft – Computerworld

    March 7, 2026

    M&A Monthly: February/March 2026

    March 7, 2026

    Subscribe to Updates

    Please enable JavaScript in your browser to complete this form.
    Loading
    • About Us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • Terms and Conditions
    © 2026 Geekfence.All Rigt Reserved.

    Type above and press Enter to search. Press Esc to cancel.