从今天開始学习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 ...
随机推荐
- PIE SDK专题制图保存模板
1. 功能简介 在PIE SDK中,所有的制图元素.视图范围以及排版等都可以保存成一个模板,以供多次重复使用.使用模板时只需要打开该模板,加载相应数据,就可以直接出图,省去了重复制作图幅的麻烦, ...
- UML-2-迭代、进化和敏捷
1.UP UP:Unified Process,统一过程.RUP:Rational Unified Process,Rational 公司制定的UP,是对UP的精细化. UP的过程: 初始 不是需求, ...
- 数据库nomount mount open阶段走向
先来简要了解一下Oracle数据库体系架构以便于后面深入理解,Oracle Server主要由实例(instance)和数据库(database)组成.实例(instance)由共享内存(SGA)和后 ...
- (Frontend Newbie)JavaScript基础之常见数据类型
JavaScript中的数据类型分为两种,一种是简单数据类型,包括Undefined.Null.Boolean.Number和String,另一种是复杂数据类型,即Object,也可称作为引用类型. ...
- 案例36-商品添加页面类别ajax显示
1 add.jsp代码 <%@ page language="java" pageEncoding="UTF-8"%> <HTML> & ...
- 2017年10月21日 数据库基础&三大范式
1. 数据库里面常用 int 整型nvarchar 字符串float 小数型decimal(,) 小数型money 小数型datetime 时间类型 ima ...
- openlayers 3 读取展示shp文件
简单的思路如下: 1.在arcgis中获得shp文件 2.将其转成geojson文件 3.用openlayers进行展示 第一步直接省略 第二步这里推荐一个shp转geojson很方便的工具网站htt ...
- form中button特殊功能
描述:写弹窗的时候发现,form中的button,不对它进行什么设置,它会有默认的操作,点击“发送验证码”或者“提交申请”,它都会退出弹窗(取消遮罩层) 解决:button有不同的type属性,只需要 ...
- 不定宽高的文字在div中垂直居中
本人在面试的时候被问到:如何使一段不定宽高的文字垂直居中呢? 现在来总结一下: 在body中写入结构 <div id="main"> <div id=&qu ...
- 中值滤波C语言优化
中值滤波C语言优化 图像平滑是图像预处理的基本操作,本文首先用不同的方法对一张图片做预处理比较它们效果的不同,然后针对中值滤波,实现了一种快速实现.(其实是copy的opencv实现,呵呵).因为op ...