Instance Method


Executes a provided block with the fetched values for the given item properties.


- (void)enumerateValuesForProperties:(NSSet<NSString *> *)properties usingBlock:(void (^)(NSString *property, id value, BOOL *stop))block;



A set of property keys that you want the values for.


A block object that executes for each fetched property value. If a value is not available, your block is sent nil.


Use this method to get property values in a batch fashion. Anytime the app accesses more than one property, enumerating over a set of property keys is more efficient than fetching each individual property with valueForProperty:.

The media property keys you can use with this property are listed in this document and in General Media Item Property Keys, Podcast Item Property Keys, Playlist Property Keys, and User-Defined Property Keys.

See Also

Working with Media Properties

+ canFilterByProperty:

Indicates if a media property key can be used to construct a media property predicate.


The persistent identifier for a media entity.

- objectForKeyedSubscript:

Returns the object specified by the key.

- valueForProperty:

Retrieves the value for a specified media property key.


Defines the type for storing a persistent identifier to a particular entity.