iOS NSMutableDictionary的Category

作者: 王隆帅 | 来源:发表于2016-03-11 20:49 被阅读261次

前言

项目中自己通过各种渠道及结合项目的经验整理了一套自己的工具包,里面有各种Category,及封装的方法,方便项目使用,这段时间我会陆续分享出来,希望能帮助到有需求的人YoY 。

NSMutableDictionary+LSCore.h

//
//  NSMutableDictionary+LSCore.h
//  LSCoreFramework
//
//  Created by 王隆帅 on 15/5/4.
//  Copyright (c) 2015年 王隆帅. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSMutableDictionary (LSCore)

#pragma mark - 安全操作
-(void)setObj:(id)i forKey:(NSString*)key;
-(void)setString:(NSString*)i forKey:(NSString*)key;

-(void)setBool:(BOOL)i forKey:(NSString*)key;
-(void)setInt:(int)i forKey:(NSString*)key;
-(void)setInteger:(NSInteger)i forKey:(NSString*)key;
-(void)setUnsignedInteger:(NSUInteger)i forKey:(NSString*)key;

-(void)setChar:(char)c forKey:(NSString*)key;
-(void)setFloat:(float)i forKey:(NSString*)key;
-(void)setDouble:(double)i forKey:(NSString*)key;
-(void)setLongLong:(long long)i forKey:(NSString*)key;

-(void)setCGFloat:(CGFloat)f forKey:(NSString*)key;
-(void)setPoint:(CGPoint)o forKey:(NSString*)key;
-(void)setSize:(CGSize)o forKey:(NSString*)key;
-(void)setRect:(CGRect)o forKey:(NSString*)key;

@end

NSMutableDictionary+LSCore.m

//
//  NSMutableDictionary+LSCore.m
//  LSCoreFramework
//
//  Created by 王隆帅 on 15/5/4.
//  Copyright (c) 2015年 王隆帅. All rights reserved.
//

#import "NSMutableDictionary+LSCore.h"

@implementation NSMutableDictionary (LSCore)

#pragma mark - 安全操作
/**
 *  设置key——value object
 *
 *  @param i   object
 *  @param key key
 */
-(void)setObj:(id)i forKey:(NSString*)key {
    if (i!=nil) {
        self[key] = i;
    }
}

/**
 *  设置key——value String
 *
 *  @param i   String
 *  @param key key
 */
-(void)setString:(NSString*)i forKey:(NSString*)key; {
    [self setValue:i forKey:key];
}

/**
 *  设置key——value Bool
 *
 *  @param i   Bool
 *  @param key key
 */
-(void)setBool:(BOOL)i forKey:(NSString *)key {
    self[key] = @(i);
}

/**
 *  设置key——value Int
 *
 *  @param i   Int
 *  @param key key
 */
-(void)setInt:(int)i forKey:(NSString *)key {
    self[key] = @(i);
}

/**
 *  设置key——value Integer
 *
 *  @param i  Integer
 *  @param key key
 */
-(void)setInteger:(NSInteger)i forKey:(NSString *)key {
    self[key] = @(i);
}

/**
 *  设置key——value UnsignedInteger
 *
 *  @param i   UnsignedInteger
 *  @param key key
 */
-(void)setUnsignedInteger:(NSUInteger)i forKey:(NSString *)key {
    self[key] = @(i);
}

/**
 *  设置key——value CGFloat
 *
 *  @param i   CGFloat
 *  @param key key
 */
-(void)setCGFloat:(CGFloat)f forKey:(NSString *)key {
    self[key] = @(f);
}

/**
 *  设置key——value Char
 *
 *  @param i   Char
 *  @param key key
 */
-(void)setChar:(char)c forKey:(NSString *)key {
    self[key] = @(c);
}

/**
 *  设置key——value Float
 *
 *  @param i   Float
 *  @param key key
 */
-(void)setFloat:(float)i forKey:(NSString *)key {
    self[key] = @(i);
}

/**
 *  设置key——value Double
 *
 *  @param i   Double
 *  @param key key
 */
-(void)setDouble:(double)i forKey:(NSString*)key {
    self[key] = @(i);
}

/**
 *  设置key——value LongLong
 *
 *  @param i   LongLong
 *  @param key key
 */
-(void)setLongLong:(long long)i forKey:(NSString*)key {
    self[key] = @(i);
}

/**
 *  设置key——value Point
 *
 *  @param i   Point
 *  @param key key
 */
-(void)setPoint:(CGPoint)o forKey:(NSString *)key {
    self[key] = NSStringFromCGPoint(o);
}

/**
 *  设置key——value Size
 *
 *  @param i   Size
 *  @param key key
 */
-(void)setSize:(CGSize)o forKey:(NSString *)key {
    self[key] = NSStringFromCGSize(o);
}

/**
 *  设置key——value Rect
 *
 *  @param i   Rect
 *  @param key key
 */
-(void)setRect:(CGRect)o forKey:(NSString *)key {
    self[key] = NSStringFromCGRect(o);
}


我的公众号二维码

相关文章

网友评论

    本文标题:iOS NSMutableDictionary的Category

    本文链接:https://www.haomeiwen.com/subject/eclxlttx.html