Home
Map
Subscript ExampleUse the subscript keyword in a class to provide access based on arguments.
Swift
This page was last reviewed on Dec 29, 2022.
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 simplification. 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.
Detail This is part of the Example class. It receives two Int arguments. It returns a String.
Detail We use some logic to determine which of the four fields to return. This is not an ideal design. But it uses subscript syntax.
Detail Uses if-statements to determine which field to assign to the newValue. The 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.
C#VB.NETPythonGolangJavaSwiftRust
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-2023 Sam Allen.