Foundation框架—集合

一、NSArray和NSMutableArray

(一)NSArray不可变数组

(1)NSArray的基本介绍

NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组。

C语言数组有一个缺点即数组中只能存放同种数据类型的元素。

OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等。

(2)NSArray的创建

(3)NSArray的访问

(4)NSArray的遍历

数组的遍历有以下几种方式:

首先创建一个数组

第一种方法:使用for循环遍历

Block遍历的深入研究:

每拿到一个元素,就传递给obj,就会调用一次block,并且把当前的元素和索引位置当做参数传递给block。

注意1:break只使用在两种场合,即switch和循环结构中。

注意2:stop参数用来停止遍历,其值若为YES,则停止。

(二)NSMutableArray可变数组

(1)NSMutableArray的基本使用

注意:NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法。

二、NSSet和NSMutableSet

(一)NSSet不可变集合

基本使用:

(二)NSMutableSet可变集合

基本使用:

(三)NSSet和NSArray的对比

(1)共同点:

1)都是集合,都能够存放多个对象

2)只能存放oc对象,不能存放非oc对象类型(如int等基本数据类型和结构体,枚举等)。

3)本身都不可变,都有一个可变的子类。

(2)不同点:

1)NSArray有顺序,NSSet没有顺序

三、NSDictionary和NSMutableDictionary

(一)NSDictionary不可变字典

(1)介绍

现实中的字典:根据索引找到具体的内容

OC中的NSDictionary:根据key找到value。里面存储的东西都是键值对。

(2)NSDictionary的创建

注意:快速创建字典是编译器特性。

(3)NSDictionary的访问

(4)NSDictionary的遍历

(二)NSMutableDictionary可变字典

(1)NSMutableDictionary的基本使用

(2)NSMutableDictionary的使用注意

注意:这种快速创建的方式只适用于不可变字典。

Foundation框架—集合的更多相关文章

  1. 李洪强iOS开发之Foundation框架—集合

    Foundation框架—集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向 ...

  2. OC Foundation框架—集合

    Foundation框架—集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向 ...

  3. Foundation框架的小总结

    一.Foundation框架—结构体 一.基本知识 Foundation框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数 ...

  4. iOS Foundation框架 -3.利用NSNumber和NSValue将非OC对象类型数据存放到集合

    1.Foundation框架中提供了很多的集合类如:NSArray,NSMutableArray,NSSet,NSMutableSet,NSDictionary,NSMutableDictionary ...

  5. iOS开发系列—Objective-C之Foundation框架

    概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底 ...

  6. Foundation框架-NSString和NSMutableString

    可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式  2.3 从文件中 ...

  7. Core Foundation框架

    转载自:http://blog.csdn.net/weiwangchao_/article/details/7744972 Core Foundation框架 (CoreFoundation.fram ...

  8. 08OC之Foundation框架

    1.Foundation框架简述 在前面,我们创建一个类的时候,都会选择Cocoa Class.到底Cocoa Class是什么东西呢? Cocoa 不是一门编程语言,因为它可以运行在多种编程语言上, ...

  9. Objective-C语言Foundation框架

    Mac OS X开发会使用Cocoa框架,它是一种支持应用程序提供丰富用户体验的框架,它实际上由:Foundation和Application Kit(AppKit)框架组成.iOS开发,会使用Coc ...

随机推荐

  1. Learning How To Learn

    1.Practice 2.memory every week for from working memory to long tern memory 3.sleep 4.running promote ...

  2. 0512 Scrum 4.0

    看板设计 每日例会时间定于下午放学回到宿舍,地点是在宿舍外的走廊或宿舍里,特殊情况待定: 团队开会照片 任务认领: 首页设计-------王俊杰 鸡汤版面-------列志华 论“汤”版面------ ...

  3. 文件上传插件uploadify详解

    官网:http://www.uploadify.com/ 基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上 ...

  4. Android TextWatcher监控EditText中的输入内容并限制其输入字符个数

    布局中EditText在android布局中经常用到,对EditText中输入的内容也经常需要进行限制,我们可以通过TextWatcher去观察输入框中输入的内容,作个笔记. 主布局: <?xm ...

  5. Css Study - Top Menu in Header 横向间隔的菜单

    .shortcut ul li { display: inline; } CSS <style> ol, ul { list-style: none; } html, body, ul, ...

  6. lua 操作中文字符串之截取和长度竖排显示

    前言 在游戏中,我们经常会遇到汉字的多行显示,比如名字竖行显示等.如下图: 为了实现上面的效果,lua实现分行是通过  \n  实现的,所以我们需要取出汉字,然后插入 \n 实现分行效果.还有一种就是 ...

  7. easyui 获得父级tabs跳转

    /*                 * 跳转tabls                  */                function JumpPage(type,title,src){   ...

  8. 自己封装的json工具类

    package com.develop.util; import java.util.ArrayList; import java.util.HashMap; import java.util.Ite ...

  9. logstash filter grok 用法

    在elk+filebeat都安装好,且明白了基本流程后,主要的就是写logstash的filter了,以此来解析特定格式的日志 logstash的filter是用插件实现的,grok是其中一个,用来解 ...

  10. 【Unity】常用代码

    //父子节点相关的: parent 变量表示Transform的父节点 root 表示它的根节点,如果没有父节点,它会返回自己 //根据名字查找子节点 Transform Find(string na ...