Вы должны автоматически высвобождать скопированный объект при его добавлении
for (NSMutableDictionary *code in self.codes) {
if([code valueForKey:@"selected"]==@"1"){
[selectedCodes addObject:[[code copy] autorelease]];
}
}
Вы должны также использовать методы сравнения строк, в отличие от простого сравнения указателей:
[code valueForKey:@"selected"]==@"1"
никогда не будет правдой, вместо этого используйте
[[code valueForKey:@"selected"] isEqualToString:@"1"]