黑马程序员——OC语言Foundation框架 (2) NSArray NSSet NSDictionary\NSMutableDictionary
Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
(以下内容是对黑马苹果入学视频的个人知识点总结)
(一)NSArray
1>NSArray :不可变数组
①创建方法
NSArray *array = @[@"jack", @"rose"];
注意点:
OC数组不能存放nil值
OC数组只能存放OC对象、不能存放非OC对象类型,比如int、struct、enum等
这个array永远是空数组
NSArray *array = [NSArray array];
结束的标记是nil
NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil];
元素访问
NSArray中元素的访问
2>NSMutableArray : 可变数组
①创建方法
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil];
②添加元素
[array addObject:[[Person alloc] init]];
[array addObject:@"jack"];
③删除元素和指定对象
[array removeAllObjects];
[array removeObject:@"jack"];
(二)NSSet
NSSet和NSArray的对比
1> 共同点
①都是集合,都能存放多个OC对象
②只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
③ 本身都不可变,都有一个可变的子类
2> 不同点
①NSArray有顺序,NSSet没有顺序
3>基本使用
NSSet *s = [NSSet set];
NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil];
(三)NSDictionary
NSDictionary\NSMutableDictionary
①无序
②快速创建(不可变):@{key1 : value1, key2 : value2}
NSDictionary *dict = @{
@"address" : @"北京",
@"name" : @"jack",
@"name2" : @"jack",
@"name3" : @"jack",
@"qq" : @""};
③快速访问元素:字典名[key]
key ----> value
字典不允许有相同的key,但允许有相同的value(Object)
对与可变的NSMutableDictionary
添加键值对
[dict setObject:@"jack" forKey:@"name"];
移除键值对
[dict removeObjectForKey:<#(id)#>];
黑马程序员——OC语言Foundation框架 (2) NSArray NSSet NSDictionary\NSMutableDictionary的更多相关文章
- 黑马程序员——OC语言Foundation框架 结构体
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)结构体 NSRange(location length) NSPoi ...
- 黑马程序员——OC语言Foundation框架 NSArray NSSet NSDictionary\NSMutableDictionary
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一) NSNumber 将各种基本数据类型包装成NSNumber对象 @ ...
- 黑马程序员——OC语言基础语法 面向对象的思想
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...
- 黑马程序员——OC语言 类和对象
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)类 1)类的声明 代码编写 ①定义一个Car类,拥有2个属性:轮子数 ...
- 黑马程序员——OC语言 三大特性之继承
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之继承 (一)继承的基本用法 先建立个Animal再用Dog继承前 ...
- 黑马程序员——OC语言 内存管理
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)计数器 每个对象内部都保存了一个与之相关联的整数,称为引用计数器,当 ...
- 黑马程序员——OC语言 核心语法 (3)
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)分类Category 1) 基本用途 如何在不改变原来类模型的前提下 ...
- 黑马程序员——OC语言 核心语法(2)
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)id 1)简介:万能指针,能指向任何OC对象,相当于NSObject ...
- 黑马程序员——OC语言 三大特性之多态
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之一的多态 (一)多态的基本概念 OC对象具有多态性体现在 Per ...
随机推荐
- Spring中的事物管理,用 @Transactional 注解声明式地管理事务
事物: 事务管理是企业级应用程序开发中必不可少的技术, 用来确保数据的 完整性和 一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用 事务的四 ...
- Smallest Bounding Rectangle - uva10173
Smallest Bounding Rectangle Given the Cartesian coordinates of n(>0)2-dimensional points, write a ...
- PHP 回调、匿名函数和闭包
<?php class Product{ public $name; public $price; function __construct($name, $price){ $this-> ...
- 用excel做差异表达
首先准备数据:表达矩阵 ACC.uncv2.mRNAseq_RSEM_normalized_log2.txt(以下载的TCGA的数据,log之后的) 上面数据中01为tumor,11为normal 我 ...
- Struts2拦截器初涉
Struts2拦截器初涉 正在练习struts,本例是从一个pdf上摘抄的例子,那本pdf都不知道叫什么名字,不过感觉很适合初学者. 在这里要实现一个简单的拦截器"GreetingInter ...
- macaca运行报错之chrome-driver问题处理,关闭 Chrome 的自动更新
由于chrome浏览器自动更新,导致 macaca运行报错,重新安装和更新chrome-driver 之后,还需要把chrome浏览器降级到50版本: 但是chrome会自动更新,所以需要禁止.找到这 ...
- Hello World for U
题目描述: Given any ) characters, you are asked to form the characters into the shape of U. For example, ...
- Android 四大组件之一(Activity)
Activty的生命周期的也就是它所在进程的生命周期. 一个Activity的启动顺序: onCreate()——>onStart()——>onResume() 当另一个Activity启 ...
- PBcR - 纠错及组装算法
单分子测序reads(PB)的混合纠错和denovo组装 我们广泛使用的PBcR的原始文章就是这一篇 原文链接:Hybrid error correction and de novo assembly ...
- rebuild new environment for DW step
Steps to rebuild PPE environment: (CTS) 1, Disable both CTS Daily Job (Daily) and CTS Daily Job (Sta ...