NSMutableDictionary случайный EXC_BAD_ACCESS - PullRequest
0 голосов
/ 27 сентября 2019

Любая идея, почему код ниже выдает 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];
}
...