Home
Map
Subscript ExampleUse the subscript keyword in a class to provide access based on arguments.
Swift
This page was last reviewed on Aug 23, 2023.
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 tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
No updates found for this page.
Home
Changes
© 2007-2024 Sam Allen.