Любая идея, почему код ниже выдает EXC_BAD_ACCESS случайным образом (не всегда).Иногда, когда userid
такой же, но нам еще предстоит выяснить больше случаев.Я понимаю, что setObject:o
не требуется, когда объект уже существует в словаре, но даже если он используется, он не должен был падать.
mDict is NSMutableDictionary
-(void) addUser:(NSString *)userid address:(NSString *)address {
if(nil == userid || nil == address) return;
User *o = [mDict objectForKey:userid];
if(!o)
o = [User new];
o.userid = userid;
o.address = address;
[mDict setObject:o forKey:o.userid];
}