Home
Swift
Subscript Example
Updated Aug 23, 2023
Dot Net Perls
Subscript. Sometimes a class contains a store of data. It may have an array of animal names. With a subscript, we access those names with array-like syntax.
A subscript uses property keywords (like get, set and newValue). It accepts one or more arguments that determine the value to be returned.
This program uses a class with a subscript. The subscript internally just accesses four fields on the class. It uses no array as a backing store.
Info The subscript is part of the Example class. It receives two Int arguments. It returns a String.
Next We use some logic to determine which of the four fields to return. This is not an ideal design. But it uses subscript syntax.
Also Set uses ifs to determine which field to assign to the newValue. NewValue is a keyword that refers to the assignment value.
class Example { var value1: String = "" var value2: String = "" var value3: String = "" var value4: String = "" subscript(row: Int, column: Int) -> String { get { // Get field based on row and column. if row == 0 { if column == 0 { return value1 } else { return value2 } } else { if column == 0 { return value3 } else { return value4 } } } set { // Set field based on row and column. if row == 0 { if column == 0 { value1 = newValue } else { value2 = newValue } } else { if column == 0 { value3 = newValue } else { value4 = newValue } } } } } // Create our class and use the subscript. var ex = Example() ex[0, 0] = "cat" ex[0, 1] = "dog" ex[1, 0] = "bird" ex[1, 1] = "fish" // Read values from the fields. print(ex[0, 0]) print(ex[0, 1]) print(ex[1, 0]) print(ex[1, 1])
cat dog bird fish
Concepts. A subscript typically will access an array (including a 2D array) or a dictionary. But it can do anything. It can even validate arguments and do nothing or return a default value.
2D Array
Structures, classes. A subscript may be used on either a structure or a class. It is a special method type that allows simpler access to internal data of the type.
A review. Subscripts provide array-like, intuitive access to class data. They are called in external places. With subscripts, we can validate access to data.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
No updates found for this page.
Home
Changes
© 2007-2025 Sam Allen