Subscript

subscript(_:)

Accesses the value associated with the given key for reading and writing.

Declaration

subscript(key: Key) -> Value? { get set }

Parameters

key

The key to find in the dictionary.

Return Value

The value associated with key if key is in the dictionary; otherwise, nil.

Discussion

This key-based subscript returns the value for the given key if the key is found in the dictionary, or nil if the key is not found.

The following example creates a new dictionary and prints the value of a key found in the dictionary ("Coral") and a key not found in the dictionary ("Cerise").

var hues = ["Heliotrope": 296, "Coral": 16, "Aquamarine": 156]
print(hues["Coral"])
// Prints "Optional(16)"
print(hues["Cerise"])
// Prints "nil"

When you assign a value for a key and that key already exists, the dictionary overwrites the existing value. If the dictionary doesn’t contain the key, the key and value are added as a new key-value pair.

Here, the value for the key "Coral" is updated from 16 to 18 and a new key-value pair is added for the key "Cerise".

hues["Coral"] = 18
print(hues["Coral"])
// Prints "Optional(18)"

hues["Cerise"] = 330
print(hues["Cerise"])
// Prints "Optional(330)"

If you assign nil as the value for the given key, the dictionary removes that key and its associated value.

In the following example, the key-value pair for the key "Aquamarine" is removed from the dictionary by assigning nil to the key-based subscript.

hues["Aquamarine"] = nil
print(hues)
// Prints "["Coral": 18, "Heliotrope": 296, "Cerise": 330]"