中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

淺談對NSDictionary的異常數(shù)據(jù)的處理

2018-07-20    來源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

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

//.h文件

#import <Foundation/Foundation.h>

 

@interface NSDictionary (ObjectExt)

/**

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

 *

 *  @param aKey key

 *

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

 */

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

 

/**

 *  獲取字典指定的對象為空是返回默認(rèn)對象

 *

 *  @param aKey          key

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

 *

 *  @return 對象

 */

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

 

/**

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

 *

 *  @param aKey key

 *

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

 */

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

 

/**

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

 *

 * @param aKey 字典key

 *

 * @return 字典value

 */

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

 

 

/**

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

 *

 * @param aKey 字典key

 * @param defValue 為空時的默認(rèn)值

 *

 * @return 字典value

 */

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

 

/**

 * @brief 替換&nbsp;為空

 *

 * @param aKey 字典key

 *

 * @return 字典value

 */

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

 

/**

 *獲取字典指定的key的數(shù)值字符

 *

 *  @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;

}

 

/**

 *  獲取字典指定的對象為空是返回默認(rèn)對象

 *

 *  @param aKey          key

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

 *

 *  @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找不到,返回@"" (防止出現(xiàn)nil,使程序崩潰)

 *

 * @param aKey 字典key

 *

 * @return 字典value

 */

- (NSString*) stringForKey:(id)aKey

{

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

}

 

/**

 *獲取字典指定的key的數(shù)值字符

 *

 *  @param aKey key

 *

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

 */

-(NSString*)numberStringForKey:(id)aKey

{

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

}

/**

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

 *

 * @param aKey 字典key

 * @param defValue 為空時的默認(rèn)值

 *

 * @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

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:java中jar命令詳解

下一篇:有史來最大改變 Android 5.0十大新特性