我在我的每一個應用程序中使用這種方法,你可以隨便寫。
-(NSString*)checkNullValidation:(NSString *)key {
NSString *returnValue;
if(key == (id)[NSNull null] || [key isEqual:[NSNull null]] || key == nil) {
returnValue = @"";
}
else {
returnValue = [NSString stringWithFormat:@"%@",key];
}
return returnValue;
}
所以每當我解析數據,我做檢查像下面 例如,
NSDictionary *dictionaryTest = @{@"MyFirstKey":nil, @"MySecondKey":@"AwesomeValue"};
NSString *firstValue = [self checkNullValidation:[dictionaryTest valueForKey:@"MyFirstKey"]]; // It will be @"" instead of nil
NSString *secondValue = [self checkNullValidation:[dictionaryTest valueForKey:@"MySecondKey"]]; // It will be @"AwesomeValue"
因此,有百分之0的機會,你會得到nil
或NULL
和應用程序不會崩潰。即使你的鑰匙沒有出現在響應主體中,這個東西也能工作。
如果您想在多個屏幕上使用它,請製作一個通用處理程序類並將其添加爲類方法並使用它。我幾乎用於所有應用程序,我的應用程序從未崩潰,因爲這樣的nil
和NULL
問題。
該是否有多種可能的解決方案來處理所有的'nil'和'NSNull'(是的,你必須同時處理)。例如,您可以嘗試http://stackoverflow.com/a/23610588/669586。或者創建一個宏。 – Sulthan