前几天有个人问我一个问题。
NSMutableArray *userArrays = [[self getUserDefaultsDatas:@"xxx"]mutableCopy];
[userArrays addObject:@"1"];
NSLog(@"-----%@------",userArrays);
2021-12-27 11:37:26.469635+0800 getArrays[21183:188451] -----(null)------
结果是空的,因为,一开始就没存储过key为xxx的内容,因此返回nil, nil的mutableCopy也还是nil, 因此数组加数据也没用。
要换个方式处理:
NSMutableArray *userArrays = [NSMutableArray array];
[userArrays addObjectsFromArray:[self getUserDefaultsDatas:@"xxx5"]];
[userArrays addObject:@"1"];
NSLog(@"-----%@------",userArrays);
[UtilityClass getUserDefaultsDatas:@"xxx"]的作用大致如下:
#pragma mark --- 提取数据
- (id)getUserDefaultsDatas:(NSString *)keyForUserDefaults{
id finalInfo;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults valueForKey:keyForUserDefaults]){
finalInfo = [defaults objectForKey:keyForUserDefaults];
}
return finalInfo;
}
网友评论