Every time you are using the same key and replacing the existing dictionary object...

// Using the same key will overwrite the last saved dictionary.
[[NSUserDefaults standardUserDefaults]setObject:discRege forKey:@"ABC"];

Instead of storing it as dictionary, store as array of dictionary, whenever you add new registration, fetch the saved array, add new dictionary object into it and update the userDefaults with that array.