Cocoa实际上是由许多个不同的框架组成的,其中最常用于桌面端(OS X)应用程序的是Foundation和Application Kit。它包含了所有的用户界面对象和高级类。如果打算开发ios平台上的应用程序,那么需要用到User Interface Kit(UIKit)框架。它包含了IOS应用所需要的所有界面对象。
 
typedef struct _NSRange
{
     unsigned int location;
     unsigned int length;
} NSRange;
 
这个结构体用来表示相关事物的范围,通常是字符串里的字符范围或者数组里的元素范围。location字段存放该范围的其实位置,而length字段则是该范围内所含元素的个数。“Object-c is a      cool lanaguage”中,单词cool可以用location为17,length为4的范围来表示。location还可以用NSNotFound这个值来表示没有范围,比如变量没有初始化。
创建新的NSRange有三种方式。
1:NSRange range;
range.location = 17;
range.length = 4;
2:NSRange range = {17, 4};
3:Cocoa提供了一个快键函数NSMakeRange()
     NSRange range = NSMakeRange(17, 4);//好处是这个函数可以在任何想用的地方调用它
 
CGPoint表示的是笛卡尔平面中的一个坐标(x, y)
struct CGPoint
{
     float x;
     float y;
};
 
CGSize用来存储长度和宽度
struct CGSize
{
     float width;
     float height;
};
 
Cocoa提供了一个矩形数据类型,它由坐标和大小复合而成
struct CGRect
{
     CGPoint orign;
     CGSize size;
};
Cocoa为以上三种结构提供了快键函数:CGPointMake()、CGSizeMake()和CGRectMake()。
 
字符串:
+  (id) stringWithFormat: (NSString*) format,….;
height = [NSString stringWithFormat:@“your is %d”, 5];
在声明方法时添加了加号,就是把这个方法定义为类方法(class method)。这个方法属于类对象(而不是类的实例对象),通常用于创建新的实例。称这种用来创建新对象的类方法为工厂方法(factory method)。
stringWithFormat:就是一个工厂方法,它根据你提供的参数创建新对象。
 
- (NSUInteger) length;//返回字符串中的字符个数
NSUInteger length = [height length];
 
字符串比较:
- (BOOL) isEqualToString: (NSString*) aString;
isEqualToString:可以用来比较接收方(receiver, 接受消息的对象)和作为参数传递过来的字符串。
 
- (NSComparisonResult) compare: (NSString*) aString;
要比较两个字符串,可以使用Compare:方法,接收对象传递过来的字符串逐个进行比较,它返回一个NSComparisonResult(也就是一个enum)来显示比较结果。
enum
{
     NSOrderedAscending = -1,
     NSOrderedSame,
     NSOrderedDescending
};
typedef NSInterger NSComparisonResult;
 
compare:进行的时区分大小写的比较。
方法compare:options:给我们更多选择权
- (NSComparisonResult) compare: (NSString *) aString
                                        options: (NSStringCompareOptions) mask
options参数是一个掩位码,使用位或bitwise-OR运算符(|)来添加选项标记。
NSCaseInsensitiveSearch: 不区分大小写字符
NSLiteralSearch: 进行完全比较,区分大小写字符
NSNumericSearch: 比较字符串的字符个数,而不是字符串值。
if ([things1 compare:things2 options: NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame)
{
     NSLog(@“They match!”);
}
 
- (BOOL) hasPrefix: (NSString*) aString;//检查字符串是否以另一个字符串开头
- (BOOL) hasSuffix: (NSString*) aString    //检查字符串是否以另一个字符串结尾
 
- (NSRange) rangeOfString:(NSString*) aString;//想知道字符串内的某处是否包含其他字符串
 
NSString是不可变(immutable)的,可以对它执行各种操作,如生成新的字符串、查找、比较,但不能删除字符改变它,Cocoa提供了一个NSString的子类,叫做NSMutableString,如果想改变字符串,请使用这个类。
+ (id) stringWithCapacity: (NSUInteger) capacity;//创建一个新的对象
- (void) deleteCharactersInRange: (NSRange) aRange;方法删除字符串中的字符
 
NSArray是一个Cocoa类,用来存储对象的有序列表,可以在NSArray中存放任意类型的对象,甚至是其他数组或字典对象。不可以存储C语言的基础类型和NSArray的随机指针,也不能存储nil。
NSArray *array = [NSArray arrayWithObjects:@“one”, @“two”,@“three”,nil];
NSArray *array2 = @[@“one”, @“two”, @“three"];
使用字面量语法时不必再结尾处特意补上nil.
 
NSEnumerator *enumerator = [array objectEnumerator];
while(id thingie = [enumerator nextObject]){
     NSLog (@“I found %@“, thingie);

Foundation Kit介绍的更多相关文章

  1. 第8章 Foundation Kit介绍

    本文转载至  http://blog.csdn.net/mouyong/article/details/16947321 Objective-C是一门非常精巧实用的语言,目前我们还没有研究完它提供的全 ...

  2. ObjC: Foundation Kit

    转自:http://marshal.easymorse.com/tech/objc-foundation-kit Foundation Kit是什么? 你可以把它看作Java JDK中的java.la ...

  3. Core Foundation框架介绍

    Core Foundation框架介绍 **参考网址: ARC下OC对象和CF对象之间的桥接 Core Foundation框架介绍 Core Foundation框架 Core Foundation ...

  4. Foundation框架介绍

    1.Foundation框架介绍 什么是框架? 众多功能\API的集合 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易,在OS X下的Mac操作系统中大约有80 ...

  5. 《objective-c基础教程》学习笔记(九)—— Foundation框架介绍

    在之前的博文中,我们创建的项目文件的时候,默认都有引用#import <Foundation/foundation.h> 这个头文件.但是,之前我们对Foundation都没有展开介绍.这 ...

  6. TFS(Team Foundation Server)介绍和入门

    在本文的两个部分中,我将介绍Team Foundation Server的一些核心特征,重点介绍在本产品的日常应用中是怎样将这些特性结合在一起使用的. 作为一名软件开发者,在我的职业生涯中,我常常会用 ...

  7. 【索引】Objective-C基础教程-读书笔记

    第1章 启程 http://www.cnblogs.com/duxiuxing/p/5492219.html 第2章 对C的扩展 第3章  面向对象编程的基础知识 第4章 继承 第5章 复合 第6章 ...

  8. oc语言的Foundation框架(学习笔记1)

    Foundation框架 1.Foundation框架介绍 框架是由许多类.方法.函数以及文档按照一定的规则组合的起来的集合. cocoa程序编写主要用到2个框架Foundation和Applicat ...

  9. OC 知识:Foundation 框架及相关类详尽总结

    本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...

随机推荐

  1. Python3基础 在print中用 %d 输出一个整数

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  2. KMP算法之查找模式串在源串中出现的次数

    问题描述: 给定两个字符串T, P.查找字符串P在字符串T中出现的次数. 解决方法: 典型的KMP算法的题目,在此使用的KMP算法为算法导论上介绍的算法.下一篇文章将详细介绍KMP算法的计算过程. 题 ...

  3. iOS 之 获取View所在控制器

    1. UIResponder UIViewController *uvc; UIResponder* nextResponder = [self.superview.superview.supervi ...

  4. plupload 异步上传插件使用心得

    plupload 可以不依赖jquery,并且提供了 html5,flash,silverlight,html4 多种上传模式,使用起来比较简单,上一篇博客中介绍了其主要参数哈函数 一.简化用法 &l ...

  5. YII 1.0 上传文件

    $upload = CUploadedFile::getInstance($articleModel,'thumb'); if($upload){ $name = date("Ymd&quo ...

  6. iconfont.cn阿里巴巴矢量图下载字体图标实战

    1.阿里巴巴矢量图网址:www.iconfont.cn 2.然后用新浪微博账号登录 3.输入要查找的图标相应的关键字,回车 4.滑过要找的图标,点击购物车,让图标存储到暂存架中 5.点击暂存架,存储为 ...

  7. 利用PHPCMS V9站群功能建立分站

    hosts文件就在C:\Windows\system32\drivers\etc\hosts下 用一套CMS软件系统,做多个网站,统一管理,用户可以互通,这就是所谓的站群功能.这对于运营和维护都能节省 ...

  8. jQuery插入节点(移动节点)

    jQuery插入节点(移动节点) <%@ page language="java" import="java.util.*" pageEncoding=& ...

  9. Android 创建Library Project(库项目)与引用操作

    由于在开发过程,为了实现未曾了解的某种效果与特定功能,而求助于网上优秀的开源项目,在使用过程中发现引用开源的Library Project(库项目),的确可以解决很多问题,而且也给出了一种思路,好的软 ...

  10. C实现类、继承、多态

    首先考虑用C实现类 肯定是要使用struct的,类的数据成员放在struct里面: 而类有构造函数.析构函数,这两个函数必须在struct外面,构造函数要分配struct空间并初始化struct成员, ...