从今天開始学习iOS开发(iOS 7版)--实现一款App之Foundation框架的使用

- 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 = [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对象。你须要编写例如以下代码:
- NSNumber *myIntValue = @32;
- NSNumber *myDoubleValue = @3.22346432;
- NSNumber *myBoolValue = @YES;
- NSNumber *myCharValue = @'V';
- NSNumber *myFloatValue = @3.2F;
这些类用来管理群组对象,所以你加入到集合中的实例必须为一个Objective-C类。假设你须要加入标量数值,你必须创建一个合适的NSNumber或NSValue实例来代表它。
每一个集合类都有一个可变的子类同意你任意加入删除成员对象。不同集合类组织它们成员对象的方式是不同的:
键是一个独特的标识符。一般是一个字符串。值就是你想要存储的对象。
你能够通过指定键来訪问该对象。

- + (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];
NSSet的可变子类是NSMutableSet。
- NSNumber *number = @42;
- NSSet *numberSet =
- [NSSet setWithObjects:number, number, number, number, nil];
- // numberSet only contains one object

Coding Programming Guide)。
- 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");
- }
- }
Framework Reference。眼下你已掌握足够的信息来继续实现ToDoList这个应用,为了实现它你须要写一个自己定义数据类。
CocoaChina是全球最大的苹果开发中文社区。官方微信每日定时推送各种精彩的研发教程资源和工具。介绍app推广营销经验,最新企业招聘和外包信息,以及Cocos2d引擎、Cocostudio开发工具包的最新动态及培训信息。
关注微信能够第一时间了解最新产品和服务动态,微信在手,天下我有!
请搜索微信号“CocoaChina”关注我们!
从今天開始学习iOS开发(iOS 7版)--实现一款App之Foundation框架的使用的更多相关文章
- 開始学习swift开发
近期要開始学习swift开发了,接下来的日子,会记录学习swift的历程.
- 从零開始学习OpenCL开发(一)架构
多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我<从零開始做OpenCL开发>系列文章的 ...
- 【React Native开发】React Native配置执行官方样例-刚開始学习的人的福音(8)
),React Native技术交流4群(458982758),请不要反复加群! 欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文 ...
- iOS开发--iOS及Mac开源项目和学习资料
文/零距离仰望星空(简书作者)原文链接:http://www.jianshu.com/p/f6cdbc8192ba著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 原文出处:codecl ...
- 開始学习swift,资料汇总帖
最近開始学习swift,以后mac和ios开发就指望它,曾经学oc半途而废了.主要原因是oc等语法实在能适应,如今有swift了.语法有js,scala,python,c++,oc等语言的影子,又一次 ...
- iOS开发之窥探UICollectionViewController(五) --一款炫酷的图片浏览组件
本篇博客应该算的上CollectionView的高级应用了,从iOS开发之窥探UICollectionViewController(一)到今天的(五),可谓是由浅入深的窥探了一下UICollectio ...
- 精通iOS开发(第5版)
<精通iOS开发(第5版)> 基本信息 原书名:Beginning ios 6 development:exploring the ios sdk 作者: (美)David Mark ...
- wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验
wxWidgets刚開始学习的人导引全文件夹 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...
- wxWidgets刚開始学习的人导引(2)——下载、安装wxWidgets
wxWidgets刚開始学习的人导引全目录 PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxS ...
随机推荐
- how to use Sqoop to import/ export data
Sqoop is a tool designed for efficiently transferring data between RDBMS and HDFS, we can import dat ...
- c#输入方法名来调用方法(反射)
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...
- 最强json解析工具
[原]http://blog.csdn.net/xiaoguomumu/article/details/75255629 感觉上面的链接所说,需要传一个T进去,也就是先要构造T,感觉麻烦 可以不这样做 ...
- <div>里用display:block有用么?
对所有的块元素都没有意义,块元素的dispaly属性默认值为block,没必要再显式定义--除非你之前对块元素的display属性重新定义过. =========================== ...
- D3(v5) in TypeScript 坐标轴之 饼状图生成
饼状图生成时依旧遇到了类型问题,记录如下: import * as d3 from 'd3'; import * as React from 'react'; class TestGraph exte ...
- python 将excel转换成字典,并且将字典写到txt文件里
# -*- coding: utf-8 -*- #python2.7 import sys reload(sys) sys.setdefaultencoding('utf-8') from pyexc ...
- asp.net之cookie
1.创建cookie HttpCookie userCookie = new HttpCookie("userInfo"); userCookie["name" ...
- 迟到的UED(转发)
2013UCAN用户体验设计论坛–精彩视频赏析 - 交互设计 博文 视觉设计 | TaoBaoUEDhttp://ued.taobao.org/blog/2013/09/2013ucan/
- L1-002 打印沙漏 (20 分)
L1-002 打印沙漏 (20 分) 方法:清晰思路,纸上写出实例,注意循环使用 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * ** ...
- Nginx集群(负载均衡)
一.集群介绍 1.传统web访问模型 (1)传统web访问模型完成一次请求的步骤 1)用户发起请求 2)服务器接受请求 3)服务器处理请求(压力最大) 4)服务器响应请求 (2)传统模型缺点 单点故障 ...