ios 对象的集合类(collection classes)
当你着手为你的应用编写代码的时候,你会发现有许多可供使用的Objective-C的框架类,其中尤其重要的就是基础框架类,它为平台所有的应用提供基础服务。基础框架类中包括了表示字符串和数字等基本数据类型的值类(value classes),也有用来存储其他对象的集合类(collection classes)。你将会依赖值类和集合类为你的ToDoList app编写大量代码。

- int n = 5; // Value assigned to primitive type
- NSNumber *numberObject = [NSNumber numberWithInt:n]; // Value object created from primitive type
- int y = [numberObject intValue]; // Encapsulated value obtained from value object (y == n)
- NSString *string = [NSString string];
- // Create the string "My String" plus carriage return.
- NSString *myString = @"My String\n";
- // Create the formatted string "1 String".
- NSString *anotherString = [NSString stringWithFormat:@"%d %@", 1, @"String"];
- // Create an Objective-C string from a C string.
- NSString *fromCString = [NSString stringWithCString:"A C string" encoding:NSUTF8StringEncoding];
- NSNumber *myIntValue = @32;
- NSNumber *myDoubleValue = @3.22346432;
- NSNumber *myBoolValue = @YES;
- NSNumber *myCharValue = @'V';
- NSNumber *myFloatValue = @3.2F;

- + (id)arrayWithObject:(id)anObject;
- + (id)arrayWithObjects:(id)firstObject, ...;
- - (id)initWithObjects:(id)firstObject, ...;
- NSArray *someArray =
- [NSArray arrayWithObjects:someObject, someString, someNumber, someValue, nil];
- id firstObject = @"someString";
- id secondObject = nil;
- id thirdObject = @"anotherString";
- NSArray *someArray =
- [NSArray arrayWithObjects:firstObject, secondObject, thirdObject, nil];
- NSArray *someArray = @[firstObject, secondObject, thirdObject];
- id firstObject = @"someString";
- id secondObject = nil;
- NSArray *someArray = @[firstObject, secondObject];
- // exception: "attempt to insert nil object"
- NSUInteger numberOfItems = [someArray count];
- if ([someArray containsObject:someString]) {
- ...
- }
- if ([someArray count] > 0) {
- NSLog(@"First item is: %@", [someArray objectAtIndex:0]);
- }
- if ([someArray count] > 0) {
- NSLog(@"First item is: %@", someArray[0]);
- }
- NSArray *unsortedStrings = @[@"gammaString", @"alphaString", @"betaString"];
- NSArray *sortedStrings =
- [unsortedStrings sortedArrayUsingSelector:@selector(compare:)];
- NSMutableString *mutableString = [NSMutableString stringWithString:@"Hello"];
- NSArray *immutableArray = @[mutableString];
- if ([immutableArray count] > 0) {
- id string = immutableArray[0];
- if ([string isKindOfClass:[NSMutableString class]]) {
- [string appendString:@" World!"];
- }
- }
- NSMutableArray *mutableArray = [NSMutableArray array];
- [mutableArray addObject:@"gamma"];
- [mutableArray addObject:@"alpha"];
- [mutableArray addObject:@"beta"];
- [mutableArray replaceObjectAtIndex:0 withObject:@"epsilon"];
- [mutableArray sortUsingSelector:@selector(caseInsensitiveCompare:)];

- NSSet *simpleSet =
- [NSSet setWithObjects:@"Hello, World!", @42, aValue, anObject, nil];
- NSNumber *number = @42;
- NSSet *numberSet =
- [NSSet setWithObjects:number, number, number, number, nil];
- // numberSet only contains one object

- NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
- someObject, @"anObject",
- @"Hello, World!", @"helloString",
- @42, @"magicNumber",
- someValue, @"aValue",
- nil];
- NSDictionary *dictionary = @{
- @"anObject" : someObject,
- @"helloString" : @"Hello, World!",
- @"magicNumber" : @42,
- @"aValue" : someValue
- };
- NSNumber *storedNumber = [dictionary objectForKey:@"magicNumber"];
- NSNumber *storedNumber = dictionary[@"magicNumber"];
- [dictionary setObject:@"another string" forKey:@"secondString"];
- [dictionary removeObjectForKey:@"anObject"];
- NSArray *array = @[ @"string", @42, [NSNull null] ];
- for (id object in array) {
- if (object == [NSNull null]) {
- NSLog(@"Found a null object");
- }
- }
ios 对象的集合类(collection classes)的更多相关文章
- 12. 集合类Collection和Map
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- 集合框架的类和接口均在java.util包中。 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。
集合框架的类和接口均在java.util包中. 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换.
- Pop–实现任意iOS对象的任意属性的动态变化
简介 Pop 是一个可扩展的动画引擎,可用于实现任意iOS对象的任意属性的动态变化,支持一般动画,弹性动画和渐变动画三种类型. 项目主页: pop 最新示例: 点击下载 注意: 官方代码中,并不包含实 ...
- 第十节 集合类Collection和Map
接口 Collection<E> (E)代表类型 集合类: 与数组的异同: 数组:数组虽然也可以存储对象,但长度是固定的:集合的长度是可变的,数组中可以存储基本数据类型,集合只能存储对象 ...
- 集合类 collection接口 ArrayList
数组: 存储同一种数据类型的集合容器.数组的特点:1. 只能存储同一种数据类型的数据.2. 一旦初始化,长度固定. 3. 数组中的元素与元素之间的内存地址是连续的. : Object类型的数组可以存储 ...
- 集合类——Collection、List、Set接口
集合类 Java类集 我们知道数组最大的缺陷就是:长度固定.从jdk1.2开始为了解决数组长度固定的问题,就提供了动态对象数组实现框架--Java类集框架.Java集合类框架其实就是Java针对于数据 ...
- 集合类 Collection
1.Collection接口有两个子接口: List:保存元素顺序的线性表,允许有重复元素. Set:不记录元素的保存顺序,不允许有重复元素.数学中的集合 Collection接口中的方法如下: Co ...
- Why do collection classes appear
package com.itheima_01; import java.util.ArrayList; /* * 为什么会出现集合类: * 我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述 ...
- 集合类Collection Map
数组与集合的区别:数组虽然也可以存储对象,但长度是固定的:集合的长度是可变的,数组中可以存储基本数据类型,集合只能存储对象. 集合特点:1.用于存储对象: 2.长度可变: 3.可存储不同对象: 一. ...
随机推荐
- <context:component-scan>配置解析(转)
在xml配置了这个标签后,spring可以自动去扫描base-pack下和其子包下面的java文件,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注 ...
- PHP基础语法2
数组 PHP有两种数组:索引数组.关联数组. 函数 自定义函数 自定义函数通过将一组代码封装起来,使代码进行复用,程序结构与逻辑更加清晰 返回值 使用return关键字可以使函数返回值,可以返回包括数 ...
- Mysql一主多从和读写分离配置简记
近期开发的系统中使用MySQL作为数据库,由于数据涉及到Money,所以不得不慎重.同时,用户对最大访问量也提出了要求.为了避免Mysql成为性能瓶颈并具备很好的容错能力,特此实现主从热备和读写分离. ...
- 173. Binary Search Tree Iterator
题目: Implement an iterator over a binary search tree (BST). Your iterator will be initialized with th ...
- Android安全问题 钓鱼程序
导读:文本介绍一种钓鱼应用,讲述如何骗取用户的用户名和密码,无须root 这个话题是继续android安全问题(二) 程序锁延伸的 之前我已经展示了如何制作程序锁.当打开指定应用的时候,弹出一个密码页 ...
- 编译GNU Global
GNU Global是一套界面更友好的tag系统,但是因为其支持的语言太少,现在一般使用其为前端,后端一般使用最新的Universal Ctags. 编译办法如下: 1.去GNU Project ht ...
- jekyll themes
jekyll主题下载: https://mademistakes.com/work/jekyll-themes/ https://github.com/jekyll/jekyll/wiki/Theme ...
- poj 1442 Black Box(堆 优先队列)
题目:http://poj.org/problem?id=1442 题意:n,m,分别是a数组,u数组的个数,u[i]w为几,就加到a几,然后输出第i 小的 刚开始用了一个小顶堆,超时,后来看了看别人 ...
- ListView中使用type需要注意的东西 java.lang.ArrayIndexOutOfBoundsException: length=2; index=2 addScrapView
ListView中使用type需要注意的东西 在使用ListView时,如果使用了getItemViewType, 记得他的值一定要是从0开始计数的. 且要覆盖getViewTypeCount方法.并 ...
- The only legal comparisons are between two numbers, two strings, or two dates.
The only legal comparisons are between two numbers, two strings, or two dates. Left hand operand is ...