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

时间:2022-09-25 18:35:13

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&bsol;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. Oracle体系结构总结

    1.Oracle 体系结构摘要图 2.Oracle 体系结构相关笔记 1.Oracle 体系结构摘要图 2.Oracle 体系结构相关笔记 可参考Oracle Architecture系列随堂笔记: ...

  2. makefile多目录的&period;c 格式&period;cpp混合编译

    # # c.cpp混合编译的makefile模板 # # BIN = test.exe CC = gcc CPP = g++ #这里只加入库头文件路径及库路径 INCS = -I"c:/mi ...

  3. codeforce Group Photo 2 &lpar;online mirror version&rpar;

    题目大意: 有n个矩形在地上排成一列,不可重叠,已知他们的宽度w和高度h,现在使至多[n / 2]个矩形旋转90度,问最后可以用多小的矩形恰好覆盖这n个矩形,求满足条件的最小矩形面积. n, w, h ...

  4. python tornado&plus;mongodb的使用

    tornado tar xvzf tornado-1.2.1.tar.gz cd tornado-1.2.1 python setup.py build sudo python setup.py in ...

  5. Linux学习(十七)压缩与打包

    一.关于打包和压缩 打包和压缩的最大意义在于减少文件传输中需要的流量.打包的方式大概有tar命令,zip命令.压缩的方式有gzip,bzip2,xz.tar命令可以通过参数将压缩和打包在一起执行. 二 ...

  6. python笔记二

    一 运算符 1算术运算+ - * /  % ** //其中%为取余,**为取幂如2**10=1024    9//4=2 需要注意的是python2.7中如9/2=4 需要正确表示,则在开头添加 fr ...

  7. main函数

    class Main { public static void main(String[] args) //new String(0) { System.out.println(args); // [ ...

  8. WebStorm微信小程序单位rpx出现空格问题

    Windows先下载sed 配置Tools->File Watchers->+ 添加下图配置 //windows系统 -i s/"\ rpx"/rpx/g $FileP ...

  9. Gulp 项目简单构建,自动刷新页面

    /** * Created by 1900 on 12/18/2015. */ var plugins={ fs:require("fs"), gulp:require(&quot ...

  10. JS在生成csv文件时&comma;&quot&semi;&comma;&quot&semi;逗号问题处理&period;

    在生成csv文件时,发现一个问题,因为csv文件本身是依靠逗号进行分列的,所以内容中有逗号时也被强制分列了,处理方法很简单,为内容加上双引号(英文格式)就可以了. 如: "11111,222 ...