你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> 淺談對NSDictionary的異常數據的處理

淺談對NSDictionary的異常數據的處理

編輯:IOS技巧綜合
[摘要]本文是對淺談對NSDictionary的異常數據的處理的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

在後台的返回數據中,我們時常會遇到返回Null數據,那麼我們在解析的時候需要對這種數據進行特殊的處理,但為了讓我們每次都更快速的來處理這樣的問題,所以我自己擴展面對了NSDictionary一個類別.對象如下

//.h文件

#import <Foundation/Foundation.h>

@interface NSDictionary (ObjectExt)

/**

*獲取字典指定的array的對象

*

* @param aKey key

*

* @return value值如果為nil或者null會返回空列表

*/

-(NSArray*)arrayObjectForKey:(id)aKey;

/**

* 獲取字典指定的對象為空是返回默認對象

*

* @param aKey key

* @param defaultObject value值如果為nil或者null會返回默認對象

*

* @return 對象

*/

-(id)objectExtForKey:(id)aKey defaultObject:(id)defaultObject;

/**

*獲取字典指定的array的對象

*

* @param aKey key

*

* @return value值如果為nil或者null會返回空列表

*/

-(NSMutableArray*)mutableArrayObjectForKey:(id)aKey;

/**

* @brief 如果akey找不到,返回@"" (防止出現nil,使程序崩潰)

*

* @param aKey 字典key值

*

* @return 字典value

*/

- (NSString *)stringForKey:(id)aKey;

/**

* @brief @brief 如果akey找不到,返回默認值 (防止出現nil,使程序崩潰)

*

* @param aKey 字典key值

* @param defValue 為空時的默認值

*

* @return 字典value

*/

- (NSString *)stringForKey:(id)aKey withDefaultValue:(NSString *)defValue;

/**

* @brief 替換&nbsp;為空

*

* @param aKey 字典key值

*

* @return 字典value

*/

- (NSString *)replaceNBSPforKey:(id)aKey ;

/**

*獲取字典指定的key的數值字符

*

* @param aKey key

*

* @return value值如果為nil或者null會返回0字符串

*/

-(NSString*)numberStringForKey:(id)aKey;

@end

//.m文件

#import "NSDictionary+ObjectExt.h"

@implementation NSDictionary (ObjectExt)

/**

*獲取字典指定的array的對象

*

* @param aKey key

*

* @return value值如果為nil或者null會返回空列表

*/

-(NSArray*)arrayObjectForKey:(id)aKey

{

id value = [self objectForKey:aKey];

if (value == nil || [value isKindOfClass:[NSNull class]])

{

return [NSArray array];

}

return value;

}

/**

*獲取字典指定的array的對象

*

* @param aKey key

*

* @return value值如果為nil或者null會返回空列表

*/

-(NSMutableArray*)mutableArrayObjectForKey:(id)aKey

{

id value = [self objectForKey:aKey];

if (value == nil || [value isKindOfClass:[NSNull class]])

{

return [NSMutableArray array];

}

return value;

}

/**

* 獲取字典指定的對象為空是返回默認對象

*

* @param aKey key

* @param defaultObject value值如果為nil或者null會返回默認對象

*

* @return 對象

*/

-(id)objectExtForKey:(id)aKey defaultObject:(id)defaultObject

{

id value = [self objectForKey:aKey];

if (value == nil || [value isKindOfClass:[NSNull class]])

{

return defaultObject;

}

return value;

}

/**

* @brief 如果akey找不到,返回@"" (防止出現nil,使程序崩潰)

*

* @param aKey 字典key值

*

* @return 字典value

*/

- (NSString*) stringForKey:(id)aKey

{

return [self stringForKey:aKey withDefaultValue:@""];

}

/**

*獲取字典指定的key的數值字符

*

* @param aKey key

*

* @return value值如果為nil或者null會返回0字符串

*/

-(NSString*)numberStringForKey:(id)aKey

{

return [self stringForKey:aKey withDefaultValue:@"0"];

}

/**

* @brief @brief 如果akey找不到,返回默認值 (防止出現nil,使程序崩潰)

*

* @param aKey 字典key值

* @param defValue 為空時的默認值

*

* @return 字典value

*/

- (NSString *)stringForKey:(id)aKey withDefaultValue:(NSString *)defValue

{

NSString *value = [self objectForKey:aKey];

if (value == nil || [value isKindOfClass:[NSNull class]])

{

value = defValue;

}

return [NSString stringWithFormat:@"%@",value];

}

/**

* @brief 替換&nbsp;為空

*

* @param aKey 字典key值

*

* @return 字典value

*/

-(NSString*)replaceNBSPforKey:(id)aKey

{

NSString *value = [self objectForKey:aKey];

if (!value)

{

value = @"";

}

NSString* str = [value stringByReplacingOccurrencesOfString:@"&nbsp;" withString:@" "] ;

return [NSString stringWithFormat:@"%@",str];

}

@end

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved