С этой строкой:
code>[userCredentials setObject:userIDKey forKey:type];
вы перезаписываете существующий ключ типа "userCredentials" (я не вижу, что он был вновь выделен в методе) новымdata.
Таким образом, userCredentials, который, как я полагаю, является изменяемым словарем, созданным в другом месте, перезаписывается новыми данными.