iOS — distinguish an NSDictionary from an NSMutableDictionary?

后端 未结 6 1204
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-21 14:34

I have the following code fragment:

NSString* value = @\"value\";
NSString* key = @\"key\";
NSMutableDictionary* foo = [NSMutableDictionary dictionary];
NSDictio         


        
6条回答
  •  清歌不尽
    2021-01-21 15:09

    I end up using @try catch but it only fires once. So it works like this

    NSMutableDictionary *valuesByIdMutable = (id)self.valuesById;
    
    simplest_block block = ^{
        [valuesByIdMutable setObject:obj forKey:key];
    };
    
    @try {
        block();
    } @catch (NSException *exception) {
        self.valuesById = valuesByIdMutable = [valuesByIdMutable mutableCopy];
        block();
    }
    

提交回复
热议问题