@@ -210,10 +210,25 @@ * @param key The key whose value should be returned * @return The value for the given key or `nil` if the key was not found */ - (nullable id)valueForKey: (OFString*)key; +/*! + * @brief Sets a value for a key. + * + * If the key starts with an `@`, the `@` is stripped and + * `[super setValue:forKey:]` is called. + * If the key does not start with an `@`, this is equivalent to + * @ref setObject:forKey:. In this case, if the dictionary is immutable, an + * @ref OFUndefinedKeyException is thrown. + * + * @param key The key to set + * @param value The value to set the key to + */ +- (void)setValue: (nullable id)value + forKey: (OFString*)key; + /*! * @brief Checks whether the dictionary contains an object equal to the * specified object. * * @param object The object which is checked for being in the dictionary