码迷,mamicode.com
首页 > 其他好文 > 详细

Foundation Kit介绍

时间:2016-07-02 00:29:56      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

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介绍

标签:

原文地址:http://www.cnblogs.com/tcsong24/p/5634600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!