You would generally use 2 response descriptors in this situation.
Your first response descriptor would use the dynamic mapping with a key path of IdList
. It is a bit of an abuse and stores the representation
to user defaults and returns nil.
Your second response descriptor would use the normal mapping with a key path of Items
(by the looks of it, though your code uses undefined variables) and rely on RestKit to not do any mapping if there are no results (though you would need to use another dynamic mapping in the case where you had a fetch request block for deletion).
mappingForSourceKeyPath:
returns a property mapping on the receiver with the specified key path, so is completely unrelated to what you're trying to do. It's the key path on the response descriptor that drills into the data structure. You can drill in with the key paths in the mappings, but that drills into objects, not dictionaries.