【Objective-C学习记录】第二十三天

数组类:

有序集合

不可变

OC中的数组是一个容器,可以有序管理一系列元素,元素类型可以不相同,但是必须是对象类型。

初始化方法:

1.initWithObjects:

2.便利构造器

3.字面量。

1 NSArray *array = @[@"SF", @"QOP", @"ST", @"PANDA"];

原始(核心)方法:

1.count。数组的元素个数

2.objectAtIndex。通过下标获取数组元素

常用方法:

1.containsObjects:。判断数组中是否包含某个元素,返回布尔值

2.indexOfObject:。根据元素获取该元素在数组中的下标,返回NSUInteger

3.componentsSeparatedByString:。该方法被字符串对象调用,将参数作为分割符分割字符串,并将子串返回成数组

4.componetsJoinedByString:。该方法被数组对象调用,将参数作为连接符连接数组内的元素,并返回拼接后的字符串

可变:

初始化方法:

1.initWithCapacity:。与可变字符串类似,参数填分配的空间,因可变数组自身就是可以改变大小的,所以该数组根据情况而定

2.便利构造器

3.字面量

1 NSMutableArray *array = [@[@"ES", @"VS", @"NA", @"CM"] mutableCopy];

这种方式同样可以给可变字符串初始化,mutableCopy是协议方法里mutableCopyWithZone:的返回值,具体是什么不太清楚,API这么写的

常用方法:

1.addObject:。向可变数组里添加元素

2.insertObject: atIndex:。向可变数组里的指定位置插入一个新的元素

3.移除元素:

A.removeObject:。参数为对象名称

B.removeObjectAtIndex:。根据传入的下标删除元素

C.removeLastObject:。删除数组中的最后一个元素

D.removeAllObjects:。删除数组中的所有元素

4.replaceObjectAtIndex: withObject:。用第二个参数替换第一个参数索引到的元素

5.exchangeObjectAtIndex: withObjectAtIndex:。根据下标交换两个元素

字典类:

无序集合,每一个对象都是一对键值对,靠key存取元素,key和value必须是对象类型。

不可变

初始化方法:

1.initWithObjectsAndKeys:

2.便利构造器

3.字面量

1 NSDictionary *dict = @{@"key1":@"value1", @"key2":@"value2", @"key3":@"value3", @"key4":@"value4"};

需要注意的是便利构造器以及init这两种初始化方法是值在前键在后,而字面量是键在前值在后。

常用方法:

1.count。获取字典中键值对的个数

2.allKeys。获取所有键值,返回给一个数组

3.allValues。获取所有值,返回给一个数组

4.objectForKey:。通过key获取字典中的某个value值

可变

初始化方法:

1.initWithCapacity:。参数为分配的容量

2.便利构造器

3.字面量

1 NSMutableDictionary *mDict = [@{@"key1":@"value1", @"key2":@"value2", @"key3":@"value3", @"key4":@"value4"} mutableCopy];

常用方法:

1.setObject:forkey:。增加键值对

2.removeObjectForkey:。根据key删除键值对

3.removeAllObjects:。移除所有键值对

4.setObject:forkey:。修改键值对和增加键值对方法一样,如果key已经存在则修改,不存在则新增

---------未完待续---------

时间: 2024-08-03 23:49:14

【Objective-C学习记录】第二十三天的相关文章

Egret入门学习日记 --- 第二十三篇(书中 9.9~9.11 节 内容)

第二十三篇(书中 9.9~9.11 节 内容) 今天,来9.9节. 重点: 1.VSlider的声明和使用. 操作: 1.VSlider的声明和使用. 其实和HSlider的使用方式差不多. 至此,9.9节 内容结束. 开始 9.10节. 重点: 1.配合TextureMerger,生成艺术字图集资源. 2.导入艺术字资源,并使用. 3.调整艺术字间距. 操作: 1.配合TextureMerger,生成艺术字图集资源. 打开TextureMerger,选择Bitmap Font . 点击添加字符

Swoole源代码学习记录(十三)——Server模块具体解释(上)

Swoole版本号:1.7.5-stable Github地址:https://github.com/LinkedDestiny/swoole-src-analysis 最终能够正式进入Server.c模块了-- 在之前的分析中,能够看到非常多相关模块的声明都已经写在了Server.h中,就是由于这些模块构成了Server的核心部分.而Server本身,则是一个最上层的对象,它包含了核心的Reactor和Factory模块,存放了消息队列的key值,控制着所有的Connection.所有PHP层

Swoole源码学习记录(十三)——Server模块详解(上)

终于可以正式进入Server.c模块了-- 在之前的分析中,可以看到很多相关模块的声明都已经写在了Server.h中,就是因为这些模块构成了Server的核心部分.而Server本身,则是一个最上层的对象,它包括了核心的Reactor和Factory模块,存放了消息队列的key值,控制着全部的Connection,所有PHP层面的回调函数也在这里指定:同时,Server存放了大量的属性值,这些值决定了整个Swoole的详细特征. 直接上源码.首先是swServer结构体,这个结构体定义了一个sw

WP8.1学习系列(第二十三章)——到控件的数据绑定

在本文中 先决条件 将控件绑定到单个项目 将控件绑定到对象的集合 通过使用数据模板显示控件中的项目 添加详细信息视图 转换数据以在控件中显示 相关主题 本主题介绍了如何在使用 C++.C# 或 Visual Basic 的 Windows 应用商店应用中将控件绑定到单个项或将列表控件绑定到项目集合.此外,本主题向你介绍了如何自定义控件项目的显示.如何基于所选内容实现详细信息视图,以及如何转换数据以进行显示.有关更多详细信息,请参阅使用 XAML 进行数据绑定. 路线图: 本主题与其他主题有何关联

linux学习笔记-第二十三课-LNMP-Nginx与PHP配置(二)

一.Nginx 1.Nginx全局配置 [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf user nobody nobody; worker_processes 2; error_log /usr/local/nginx/logs/nginx_error.log crit; pid /usr/local/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; events {   

JavaWeb学习记录(十三)——商城购物之添加订单的数据库级联操作

一.方法实现 private JdbcTemplate jdbcTemplate = new JdbcTemplate(DBConn.getDataSource()); @SuppressWarnings("deprecation")    @Override    public boolean insertObject(Orders entity) {        String sql1 = "insert into orders(number,status,uid) v

寒假学习记录第二天

1.if else /** * if else */ val age =18 if (age < 18 ){ println("no allow") }else if (18<=age&&age<=20){ println("allow with other") }else{ println("allow self") } 2. for ,while,do…while /** * to和until * 例: *

c++学习记录(十三)

流插入运算符和流提取运算符的重载 cout 是在iostream中定义的,是ostream类的对象,ostream包含在iostream头文件里 <<是左移运算符,能用在cout上是因为在iostream中对<<进行了重载 有可能按以下方式重载成ostream类的成员函数 void ostream::operator<<(int n) { ...//输出n的代码 return; } 则cout<<5即cout.operator<<(5) cout

穿上华丽的外衣——CSS之旅(码神学习第二十三天)

穿上华丽的外衣--CSS之旅 码神学习第二十三天 学习过程记录: 1.CSS(Cascading Style Sheets,层叠样式表),为了解决内容与表现分离.样式通常存储在样式表中.外部样式表可以提高工作效率. 2.三种不同类型的CSS样式: 答:①内联样式:直接在html标签上定义该标签的CSS样式 ②内部样式:写在html文件中,且包含在<style></style>代码块中 ③外部样式:通过在html中引用外部css文件来控制样式 元素的优先级,就近原则,离元素最近的规则

javaSE第二十三天

第二十三天????338 1.进程和线程的概述????338 2.多线程(理解)????339 (1)多线程:一个应用程序有多条执行路径????339 (2)Java程序的运行原理及JVM的启动是多线程的吗?????339 C:多线程代码引入????339 (3)多线程的实现方案(自己补齐步骤及代码????掌握)????341 A:继承Thread类????341 1.继承了Thread类的实现类MyThread.java????341 2.测试类MyThreadDmeo.java????341