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的更多相关文章

  1. 黑马程序员——OC语言Foundation框架 结构体

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)结构体 NSRange(location length) NSPoi ...

  2. 黑马程序员——OC语言Foundation框架 NSArray NSSet NSDictionary\NSMutableDictionary

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一) NSNumber 将各种基本数据类型包装成NSNumber对象 @ ...

  3. 黑马程序员——OC语言基础语法 面向对象的思想

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...

  4. 黑马程序员——OC语言 类和对象

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)类 1)类的声明 代码编写 ①定义一个Car类,拥有2个属性:轮子数 ...

  5. 黑马程序员——OC语言 三大特性之继承

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之继承 (一)继承的基本用法 先建立个Animal再用Dog继承前 ...

  6. 黑马程序员——OC语言 内存管理

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)计数器 每个对象内部都保存了一个与之相关联的整数,称为引用计数器,当 ...

  7. 黑马程序员——OC语言 核心语法 (3)

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)分类Category 1) 基本用途 如何在不改变原来类模型的前提下 ...

  8. 黑马程序员——OC语言 核心语法(2)

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)id 1)简介:万能指针,能指向任何OC对象,相当于NSObject ...

  9. 黑马程序员——OC语言 三大特性之多态

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三大特性之一的多态 (一)多态的基本概念 OC对象具有多态性体现在 Per ...

随机推荐

  1. Spring中的事物管理,用 @Transactional 注解声明式地管理事务

    事物: 事务管理是企业级应用程序开发中必不可少的技术,  用来确保数据的 完整性和 一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用 事务的四 ...

  2. Smallest Bounding Rectangle - uva10173

    Smallest Bounding Rectangle Given the Cartesian coordinates of n(>0)2-dimensional points, write a ...

  3. PHP 回调、匿名函数和闭包

    <?php class Product{ public $name; public $price; function __construct($name, $price){ $this-> ...

  4. 用excel做差异表达

    首先准备数据:表达矩阵 ACC.uncv2.mRNAseq_RSEM_normalized_log2.txt(以下载的TCGA的数据,log之后的) 上面数据中01为tumor,11为normal 我 ...

  5. Struts2拦截器初涉

    Struts2拦截器初涉 正在练习struts,本例是从一个pdf上摘抄的例子,那本pdf都不知道叫什么名字,不过感觉很适合初学者. 在这里要实现一个简单的拦截器"GreetingInter ...

  6. macaca运行报错之chrome-driver问题处理,关闭 Chrome 的自动更新

    由于chrome浏览器自动更新,导致 macaca运行报错,重新安装和更新chrome-driver 之后,还需要把chrome浏览器降级到50版本: 但是chrome会自动更新,所以需要禁止.找到这 ...

  7. Hello World for U

    题目描述: Given any ) characters, you are asked to form the characters into the shape of U. For example, ...

  8. Android 四大组件之一(Activity)

    Activty的生命周期的也就是它所在进程的生命周期. 一个Activity的启动顺序: onCreate()——>onStart()——>onResume() 当另一个Activity启 ...

  9. PBcR - 纠错及组装算法

    单分子测序reads(PB)的混合纠错和denovo组装 我们广泛使用的PBcR的原始文章就是这一篇 原文链接:Hybrid error correction and de novo assembly ...

  10. rebuild new environment for DW step

    Steps to rebuild PPE environment: (CTS) 1, Disable both CTS Daily Job (Daily) and CTS Daily Job (Sta ...