iOhYes Retired


A podcast by iOS developers for iOS developers, delivering news, tips, and rants for professional iOS/Mac developers, with something for enterprise and indie developers alike.

Hosted by Darryl Thomas and John Sextro.

#70: Episode 70 - Demeter Defeater

May 28, 2015 at 8:30PM • 1 hour 1 minute

Automatic Reference Counting (ARC) including what's new (not much) and suggestions for when to use weak vs. unowned.

Optional Chaining including Nil protection, multiple optional calls chained and the Law of Demeter.

Generics including generic functions, generic types, associated type, type constraints and the use of the Where clause.

#69: Episode 69 - This Should Have Been a Point Release

May 20, 2015 at 12:30PM • 9 minutes

Darryl finishes up some homework assignments and address some corrections. He covers Overriding private methods, private methods in notification selectors, factory methods and follow-up on initializers.

#68: Episode 68 - Initializers Unlocked!!

May 13, 2015 at 10:00AM • 1 hour 2 minutes

Chad and Darryl continue our series on Swift. This time they take a look at Inheritance, Initializer and Deinitializers.

We cover the tweet shoutouts, homework assignments and wrap things up with our picks of the episode.

#67: Episode 67 - Used to Sleeping with a Watch

May 6, 2015 at 6:45AM • 1 hour 9 minutes

We welcome special guest Kim Etzel (wife of host Chad Etzel) to the show to discuss ResearchKit from the perspective of someone in the research community with an interest in gaining the benefits of ResearchKit.

  • ResearchKit
    • Build surveys for modal presentation on an iOS device.
    • Use customizable visual consent templates to explain the details of your study and obtain a signature from the participant. Be sure to get your visual consent flow approved by your institutional review board (IRB) or ethics committee.
    • Use active tasks to invite users to perform activities under semi-controlled conditions, using iPhone sensors to collect data.
  • Related Open Source
    • AppCore
      • Dashboard with progress graphs
      • Data storage back end
      • JSON serialization and deserialization
      • Integration with Sage Bionetworks' Bridge service
    • GlucoSuccess
    • Asthma Health
    • mPower
    • Share the Journey

#66: Episode 66 - Using As with Abandon

April 28, 2015 at 6:30AM • 1 hour 6 minutes

  • WWDC
  • Swift
    • Type Casting
    • Nested Types
    • Extensions
    • Protocols

#65: Episode 65 - Jilted Syntax

April 22, 2015 at 6:00PM • 1 hour 19 minutes

Swift Methods, including instance methods, type methods, self and mutating structs and enums. Subscripts Access Control, public internal and private

#64: Properties, Properties, Properties

April 15, 2015 at 11:00AM • 57 minutes

This week we pickup where we left off with our deep dive into swift. We identify a few corrections that you helped us with and then we dive deep into properties.

We follow that up with a discussion of Methods, Self and Visibility

#63: Episode 63 - On a Scale from Aluminum to Gold

April 8, 2015 at 7:00PM • 59 minutes

#62: Episode 62 - It's Closures All the Way Down

April 3, 2015 at 8:45AM • 58 minutes


  • Follow-up/Corrections
  • 2 episodes ago, Darryl mistakenly referred to Swift 1.3 beta. He meant to say 1.2 beta.
    • Tuples
      • Contents can be decomposed in a manner very similar to the decomposition of an enum value’s associated values
      • Elements can be accessed using dot notation with its zero-based index.
    • Particularly useful as the return value of functions
      • Group values into a single compound value.
      • Values need not be of the same type
      • Multiple ways of getting at the composed values
        • “_” can be used to ignore parts of a tuple.
      • Elements of a tuple can be named, and subsequently accessed by name using dot syntax.
      • If the data structure is likely to persist beyond a temporary scope, consider a class or structure instead.
  • Functions
    • syntax
    • parameters
      • local vs. external parameter names
      • variadic
      • in-out
      • default parameter values
    •  return
      • multiple return values
      • option tuple return types
      • void defined as empty tuple ()
    • function types
      • syntax
      • as parameters
      • as return types
  • Closures
    • terseness
    • Types
      • Global Functions
      • Nested Functions
      • Closure Expressions
    • Trailing Closures

#61: Episode 61 - Not Enough Words

March 27, 2015 at 8:00AM • 1 hour 3 minutes


  • Data
    • value types
      • enums
        • can have initializers, can be extended and can conform to protocols
        • Swift enums do NOT get default integer values
      • structs
        • auto-gen’ed memberwise initializers (not so in classes)
        • No ref counting, since value type
    • reference types
      • classes
        • very similar to structs (but ref type)
        • inheritance
        • Ref count for memory management
    • Swift Diff: dot syntax allows us to directly set sub-properties without intermediate assignment (reduces instance creation and malloc)
    • Rookie Question: What is the key deciding factor between creating a struct vs. class or class vs. struc?