文档章节

ios model字典 NSArray NSDictionary小结

cicue
 cicue
发布于 2015/10/22 10:33
字数 553
阅读 493
收藏 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
UISegmentedControl segmentedControl

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

无邪8
05/22
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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

异步化,高并发大杀器

今天来聊聊如何让项目异步化的一些事。 在进入正文之前,顺便给大家推荐一个Java架构方面的交流学习群:698581634,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分...

Java大蜗牛
13分钟前
0
0
织梦dedecms安全设置

网站本身做好防范: 1、修改默认后台名。 打开网站根目录,找到[dede],这个文件夹就是后台的路径,可以随意修改,比如修改为[adminbuy],此时后台登陆的路径为:http://www.*****.com/admi...

雨季2014
13分钟前
0
0
完美Python入门基础知识点总结,看完你的Python就完全入门了!

Python标识符 在 Python 里,标识符有字母、数字、下划线组成。 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 中的标识符是区分大小写的。 以下划线...

糖宝lsh
19分钟前
0
0
Java关于前后台传输中文乱码以及Excel下载乱码解决

针对乱码,一般情况是前后台以及中间件编码格式不同导致.故需要保证编码格式相同即可. 1.前台页面格式指定,这里用的是jsp,故需要将pageEncoding指定为"UTF-8" 2.指定服务器编码格式,比如用的t...

勤奋的蚂蚁
21分钟前
0
0
Flutter组件 - Flexible

Flexible是一个控制Row、Column、Flex等子组件如何布局的组件。 Flexible组件可以使Row、Column、Flex等子组件在主轴方向有填充可用空间的能力(例如,Row在水平方向,Column在垂直方向),但是...

一箭落旄头
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部