文档章节

ios model字典 NSArray NSDictionary小结

cicue
 cicue
发布于 2015/10/22 10:33
字数 553
阅读 496
收藏 0

ios model字典

#import <Foundation/Foundation.h>

@interface AdObject : NSObject
/// 广告ID
@property (strong,nonatomic) NSString *adID;
/// 广告图片的地址
@property (strong,nonatomic) NSString *imagePath;
/// 广告标题
@property (strong,nonatomic) NSString *adTitle;

/*!
 *  @brief  自定义初始化方法
 *  @param dict 存放 HPAdObject 内容的字典
 *  @return 当前类的一个实体
 */
- (id)initWithDictionary:(NSDictionary*)dict;
@end

实现

@implementation AdObject
- (id)initWithDictionary:(NSDictionary*)dict
{
    if (self = [super init])
    {
        _adID = dict[@"id"];
        _imagePath = dict[@"img"];
        _adTitle = dict[@"title"];
    }
    return self;
}
@end

引用
AdObject *obj = [[AdObject alloc]initWithDictionary:dictItem];

kvc

@implementation AdObject
+ (instancetype)carGroupWithDict:(NSDictionary *)dict
{
    AdObject *cg = [[self alloc] init];
    [cg setValuesForKeysWithDictionary:dict];
    return cg;
}
@end

引用
AdObject *cg = [AdObject initWithDictionary:dict]; //alloc也给封装了,

获取本地文件

NSArray *tmp = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"cars_simple" ofType:@"plist"]];

NSArray使用小结

//类方法数组创建  
NSArray *array1 = [NSArray arrayWithObject:@"obj"];  
NSArray *array2 = [NSArray arrayWithObjects:@"obj1", @"obj2", @"obj3", nil];  
NSArray *array3 = [NSArray arrayWithArray:array2];  

//实例方法创建数组  
NSArray *array4 = [[NSArray alloc] initWithObjects:@"AAA", @"bbb", nil];  


//数组个数  
NSLog(@"array3 count :%d", [array3 count]);  
          
//访问元素  
NSLog(@"obj at index :%@", [array2 objectAtIndex:2]);  


//是否包含指定对象  
NSLog(@"isContains :%d", [array5 containsObject:@"obj2"]);  
                 
//查找某个对象所在索引  
NSLog(@"indexOfObject :%d",[array5 indexOfObject:@"obj3"]);  
          
//最后一个元素  
NSLog(@"lastObejct :%@", [array5 lastObject]);  
          
//遍历数组  
for (id element in array5) {  
    NSLog(@"element :%@", element);  
}

NSMutableArray;

NSMutableArray *MutableArray = [NSMutableArray alloc] init];

[mutableArray addObject:@"000"];  

//插入元素  
[mutableArray insertObject:@"ccc" atIndex:0]; 

//移除指定元素  
[mutableArray removeObject:@"ccc"];  
          
//移除指定下标元素  
[mutableArray removeObjectAtIndex:0];  
          
//移除最后一个元素  
[mutableArray removeLastObject];  
          
//添加数组  
[mutableArray addObjectsFromArray:array5];  
          
//移除指定数组中的内容  
[mutableArray removeObjectsInArray:array2];  
          
//指定索引替换对象  
[mutableArray replaceObjectAtIndex:0 withObject:@"==="];  
    
//删除全部对象  
[mutableArray removeAllObjects];

NSDictionary

//创建多个字典  
NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:  
                              @"value1", @"key1",  
                              @"value2", @"key2",  
                              @"value3", @"key3",  
                              @"value4", @"key4",  
                              nil]; 

//根据key获取value  
NSLog(@"key3 value :%@", [dic3 objectForKey:@"key3"]);  
          
//获取字典数量  
NSLog(@"dic count :%d", dic3.count);  
          
//所有的键集合  
NSArray *keys = [dic3 allKeys];  
          
//所有值集合  
NSArray *values = [dic3 allValues];

NSMutableDictionary;

NSMutableDictionary *mutableDic = [[NSMutableDictionary alloc] init];

//添加现有的字典数据  
[mutableDic addEntriesFromDictionary:dic3]; 

//添加新的键值对象  
[mutableDic setValue:@"set1" forKey:@"setKey1"];  
          
//以新的字典数据覆盖旧的字典数据  
[mutableDic setDictionary:dic2];  
          
//根据key删除value  
[mutableDic removeObjectForKey:@"key1"];  
          
//快速遍历  
for(id key in mutableDic) {  
    NSLog(@"key :%@  value :%@", key, [mutableDic objectForKey:key]);  
}  
          
//枚举遍历  
NSEnumerator *enumerator = [mutableDic keyEnumerator];  
id key = [enumerator nextObject];  
while (key) {  
     NSLog(@"enumerator :%@", [mutableDic objectForKey:key]);  
     key = [enumerator nextObject];  
}  
          
//根据key数组删除元素  
[mutableDic removeObjectsForKeys:keys];  
   
//删除所有元素        
[mutableDic removeAllObjects];


© 著作权归作者所有

共有 人打赏支持
cicue
粉丝 14
博文 111
码字总数 75311
作品 0
徐汇
私信 提问
ios6 LLVM 4.0 obj-c 语法的一些变化

ios 6 采用了新的编译器LLVM 4.0, 其中带来了一些objc语法方便的小改变。 在生成string 时, 我们在objc 常使用NSString *s = @"string"; 使得创建string十分方便。在ios 6我们可以使用类似...

董桉远
2013/03/20
0
5
iOS通过NSUserDefaults实现简单的应用间数据传递

iOS中NSUserDefaults详解 NSUserDefaults是用于保存应用程序设置,应用信息等轻量级数据的的一个类,其本质是将数据写为plist文件的形式保存在本地。在IOS中,系统为每一个应用程序都默认创建...

珲少
2015/05/06
0
0
OC语言自学《十二》---- OC(Foundation框架部分知识总结)

NSRange 表示一个范围 主要用来操作字符串 CGPoint、NSPoint 通过设置x坐标和y坐标来设置某个点 IOS设备的x和y从左上角开始,y值往下面增加,x值往右面增加 CGSize、NSSize 表示一个矩形尺寸...

罗眯眯
2014/04/09
0
0
OC之之NSDictionary/NSMutableDictionary

NSDictionary/NSMutableDictionary特点: (1)里存储的东西都是键值对 (2)可以像数组一样快速创建(适用NSDictionary):@{key1 : value1, key2 : value2} (3)快速访问元素:字典名 [k...

feng_blog
2015/09/02
0
0
UISegmentedControl segmentedControl

一、简介 <UIControl-->UIView-->UIResponder-->NSObject 格式为 1-->初始化(作用) typedef NS_OPTIONS(NSUInteger, UIDataDetectorTypes) { UIDataDetector......

无邪8
05/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ConcurrentHashMap源码解析

初始化 先看看ConcurrentHashMap中几个重要的属性: // 初始化容量大小static final int DEFAULT_INITIAL_CAPACITY = 16;//默认负载因子static final float DEFAULT_LOAD_FACTOR = 0.75f...

grace_233
13分钟前
0
0
java对象的浅拷贝和深拷贝

浅拷贝 java的数据类型有基本数据类型(如:int、long等)和引用数据类型。例如:对象1中有属性a(基本数据类型)和属性b(引用数据类型),在进行浅拷贝到对象2时,属性a复制属性的值给对象...

yangyangyyyy
13分钟前
0
0
SQLServer AlwaysOn在阿里云的前世今生

缘起 早在2015年的时候,随着阿里云业务突飞猛进的发展,SQLServer业务也积累了大批忠实客户,其中一些体量较大的客户在类似大促的业务高峰时RDS的单机规格(规格是按照 内存CPUIOPS 一定比例...

阿里云云栖社区
14分钟前
0
0
ubuntu16.04 LNMP搭建 php7.1

sudo apt-get update sudo apt-get install mysql-server mysql-client sudo apt-add-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.1 php7.1-fpm php7.1-cgi p......

一千零一夜个为什么
20分钟前
0
0
阿里云高级技术专家带你全面了解云主机性能评测

钱超,花名西邪,阿里云高级技术专家,超12年老阿里,是云主机性能领域的知名专家。 在目前的云计算测评领域,很多性能测评存在营销的包装,容易引起误导:比如用瞬时性能引导读者得出结论,...

阿里云官方博客
28分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部