O'Reilly logo

Mastering Swift 4 - Fourth Edition by Jon Hoffman

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

When not to use a custom subscript

As we have seen in this chapter, creating custom subscripts can really enhance our code; however, we should avoid overusing them or using them in a way that is not consistent with the standard subscript usage. The way to avoid overusing subscripts is to examine how subscripts are used in Swift's standard libraries.

Let's look at the following example:

class MyNames { 
  private var names:[String] = ["Jon", "Kim", "Kailey", "Kara"] 
  var number: Int { 
    get { 
      return names.count 
    } 
  } 
  subscript(add name: String) -> String { 
    names.append(name) 
    return name 
  } 
  subscript(index: Int) -> String { 
    get { 
      return names[index] 
    } 
    set { 
      names[index] = newValue 
    } 
  } 
} 

In the preceding example, within the MyNames class, we define ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required