在很多的時候,后臺給我們返回的字符串類型的數據,我們直接用的時候可能會有出bug。
比如下面的代碼:
[WODUserDefaults setObject:result.attr[@"user"][@"nickName"] forKey:kWXNickName];
直接這樣寫,會讓app直接掛掉,原因是plist文件不能存'空',所以在存的時候要加判斷:result.attr[@"user"][@"nickName"] 是否為空。
修改代碼如下:
if (![[result.attr[@"user"][@"nickName"] class] isSubclassOfClass:[NSNull class]]) {
[WODUserDefaults setObject:result.attr[@"user"][@"nickName"] forKey:kWXNickName];
}
這里判斷需要用的這個value的類型是否是NSNull類型,如果是則代表沒有值。
因為如果是NSNull類型的時候是返回yes,所以我們這里取反。