Logo

    05: Objective-C Interoperability

    enApril 03, 2017
    What was the main topic of the podcast episode?
    Summarise the key points discussed in the episode?
    Were there any notable quotes or insights from the speakers?
    Which popular books were mentioned in this episode?
    Were there any points particularly controversial or thought-provoking discussed in the episode?
    Were any current events or trending topics addressed in the episode?

    About this Episode

    There's been a much stronger focus on calling ObjC from Swift than the other way around, but in this talk we'll cover both directions and the parts of the Swift language involved in the process.

    ObjC Interop Overview

    • Nikita Lutsenko's talk: https://realm.io/news/altconf-nikita-lutsenko-objc-swift-interoperability/
      • NS_SWIFT_NAME
      • NS_SWIFT_UNAVAILABLE
      • NS_REFINED_FOR_SWIFT
      • NS_SWIFT_NOTHROW
      • NS_NOESCAPE
      • NSEXTENSIBLESTRING_ENUM
      • Nullability Annotations
      • Generic Annotations
    • ClangImporter (omit needless words logic lives here)
    • PrintAsObjC
      • Kevin Ballard's PR to include unavailable/deprecated/availability attributes: https://github.com/apple/swift/pull/6480
      • ObjC codegen via string manipulation. Very hackable.

    Proposals on ObjC Interop

    • Referencing ObjC key-paths: https://github.com/apple/swift-evolution/blob/master/proposals/0062-objc-keypaths.md
    • Referencing ObjC property selectors: https://github.com/apple/swift-evolution/blob/master/proposals/0064-property-selectors.md
    • Referencing ObjC selector of a method: https://github.com/apple/swift-evolution/blob/master/proposals/0022-objc-selectors.md
    • Great API transformation: https://github.com/apple/swift-evolution/blob/master/proposals/0005-objective-c-name-translation.md
    • Import ObjC constants: https://github.com/apple/swift-evolution/blob/master/proposals/0033-import-objc-constants.md
    • Make optional requirements ObjC only: https://github.com/apple/swift-evolution/blob/master/proposals/0070-optional-requirements.md

    Recent Episodes from Swift Unwrapped

    91: Concurrency, 3 years later

    91: Concurrency, 3 years later

    Links

    Sponsors

    • AWS Amplify - AWS Amplify is a suite of tools and services for iOS developers to build full stack serverless and cloud-based mobile apps. Check out our getting started Tutorial for iOS! Go to awsamplify.info/IOS

    Get in Touch

    If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.

    90: Swift Atomics

    90: Swift Atomics

    Links

    Sponsors

    • AWS Amplify - AWS Amplify is a suite of tools and services for iOS developers to build full stack serverless and cloud-based mobile apps. Check out our getting started Tutorial for iOS! Go to awsamplify.info/IOS

    Get in Touch

    If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.

    We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped.

    89: Implementing the Swift Runtime in Swift, with Jordan Rose

    89: Implementing the Swift Runtime in Swift, with Jordan Rose

    What’s in a Swift runtime?

    Other links

    About Jordan

     

    Sponsors

    • Instabug - Get Application Performance Monitoring built for mobile apps and stay on top of your app quality with Instabug. Check them out and them them know we sent you at https://try.instabug.com/SwiftUnwrapped

     

    • AWS Amplify - AWS Amplify is a suite of tools and services for iOS developers to build full stack serverless and cloud-based mobile apps. Check out our getting started Tutorial for iOS! Go to awsamplify.info/IOS

     

    Get in Touch

    If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.

    We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped.

    88: Swift 5.3

    88: Swift 5.3

    Get in Touch

    If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.

    We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped

    87: Package Registries and Indexes

    87: Package Registries and Indexes

    Get in Touch

    If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.

    We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped

    86: Tuples

    86: Tuples

    SE-0282 Tuples conform to Equatable, Comparable, and Hashable

    Bow: https://bow-swift.io

    👋 Get in Touch

    We are @swift_unwrapped on twitter. Follow us, ask us a question, let us know what you think of the show! If you want to follow us individually, we're @jesse_squires and @simjp.

    🖤 Leave A Review

    If you're enjoying the show. The best and easiest way to show your support is by heading over to iTunes and leaving us a review! Not only do you let us know what you like about the show, but you're also helping other Swift language folks find the show.

    Head over to our iTunes page to share your opinion of the show!

    85: Swift on Windows and other news

    85: Swift on Windows and other news
    • Foundation on Windows: https://forums.swift.org/t/swift-soars-ever-higher/34036
    • Interoperability between Swift and C++: https://forums.swift.org/t/manifesto-interoperability-between-swift-and-c/33874
    • Swift playgrounds for mac: https://apps.apple.com/us/app/swift-playgrounds/id1496833156?mt=12
    • Swift crypto: https://swift.org/blog/crypto/
    • Standard Library Preview Package: https://swift.org/blog/preview-package/
    • Update on SE-0110 and SE-0155: https://forums.swift.org/t/update-on-se-0110-and-se-0155/33948

    🙏 Thanks to today's sponsor: Square

    Check out the tutorial for Square’s In-App Payments SDK for iOS on their new developer YouTube channel: youtube.com/squaredev

    👋 Get in Touch

    We are @swift_unwrapped on twitter. Follow us, ask us a question, let us know what you think of the show! If you want to follow us individually, we're @jesse_squires and @simjp.

    🖤 Leave A Review

    If you're enjoying the show. The best and easiest way to show your support is by heading over to iTunes and leaving us a review! Not only do you let us know what you like about the show, but you're also helping other Swift language folks find the show.

    Head over to our iTunes page to share your opinion of the show!

    84: Swift World Tour 2020

    84: Swift World Tour 2020
    • Magic file names: https://github.com/apple/swift-evolution/blob/master/proposals/0274-magic-file.md
    • Multi-pattern catch clauses
      • https://github.com/apple/swift-evolution/blob/master/proposals/0276-multi-pattern-catch-clauses.md
      • https://forums.swift.org/t/se-0276-multi-pattern-catch-clauses/32620
    • Road to Swift 6: https://forums.swift.org/t/on-the-road-to-swift-6/32862

    👋 Get in Touch

    We are @swift_unwrapped on twitter. Follow us, ask us a question, let us know what you think of the show! If you want to follow us individually, we're @jesse_squires and @simjp.

    🖤 Leave A Review

    If you're enjoying the show. The best and easiest way to show your support is by heading over to iTunes and leaving us a review! Not only do you let us know what you like about the show, but you're also helping other Swift language folks find the show.

    Head over to our iTunes page to share your opinion of the show!

    83: Modify Accessors

    83: Modify Accessors

    Get in Touch

    If you're enjoying the show and want to say thank you, the best way to do that is by leaving us a review on iTunes! It lets us know what you think of the show and helps us climb the charts so other people can find the show.

    We've also got a channel set up on Spectrum.chat! If you want to talk about today's episode, ask us a question or just follow the conversation, jump in anytime at spectrum.chat/specfm/swift-unwrapped