黑马程序员技术交流社区
标题: OC:笔记分享。NO:5 [打印本页]
作者: 15021367785 时间: 2015-2-27 14:49
标题: OC:笔记分享。NO:5
水贴也要这样水啊,那样么内容的水 是否太过分了呢
Foundation : (方法集合)?
它不包含UI对象,所以可以在在IOS 或OS X 应用程序中兼容。
该框架中又很多有用的、面向数据的简单类和数据类型。 拥有100多个类, 可以在Xcode 的Organizer窗口选择 Documentation 选项卡来查看这些文档
该框架是以另一个框架CoreFoundation 为基础创建的。CoreFoundation 框架是用纯C 语言写的。
如果函数 和变量的名称以 CF开头 ,那么题目就是CoreFoundation 框架中的。其中很多都可以在Foundation 框架中找到相应地,它们之间的转换也非常方便。
NSRange 范围
NSPoint /CGPoint 表示位置 点
NSSize /CGSize 表示尺寸(大小)
NSRect /CGRect 使用以上结构体 表示一个形状的位置 范围 大小 在某个地方的某个位置 ,比如在屏幕的某个地方占用多大范围的位置
开始之前有些结构体
typedef struct _NSRange
{
unsigned int location; //位置 存放该范围的起始位置
unsigned int length //长度 是该范围内所含元素的个数
}NSRange // 这个结构体用来表示相关事物的范围,通常是字符串里地字符串范围或者数组里地元素范围。
创建新的 NSRange (范围)的三种方式
第一种,直接字段赋值:
NSRange range;
range.location = 17;
range.length = 4;
第二种 ,应用 C语言的聚合结构赋值机制
NSRange range = { 17, 4};
第三种, 使用Cocoa 提供的一个快捷函数NSMakeRange();
NSRange range = NSMakeRange (17 , 4);
使用第三种的好处是 可以在任何能够使用函数的地方使用它。
例如在方法调用中将其作为参数进行传递。
[anObject flarbulateWithRange:NSMakeRange(13, 15)]; // 意思还不清楚
第一个类 字符串 NSString 添加格式字符串到字符串中
第一个NSString 方法
+ (id) stringWihFormat:(NSString *) format,.....;
使用 写法
NSString *height;
height = [NSString stringWithFormat:@" 你得身高是%d厘米 ,年龄是%d岁", 170 , 15];
得到字符串是 你得身高是170厘米 ,年龄是15.
第二个NSString方法 length 返回值是字符串个数。
- (NSUInteger) length
使用写法
写法1、 NSUInteger length = [height length];
写法2、 [对象名 length]
第三个NSString方法 字符串比较
第一个比较方法:返回值表示两个字符串的内容是否相同
- (BOOL) isEqualToString : (NSString *) aString;
NSString *thing1 = @"hello 5";
NSString *thing2 = [NSString stringWithFormat : @"hello %d", 5];
if ([thing1 isEqualToString : thing2])
{
NSLog(@"他们是否相同呢?");
}
要比较两个字符串,可以使用 compare 方法 比较目标在字母表中的排序位置比传递进来的字符串更靠前(是区分大小写的比较)
- (NSComparisonResult) compare: (NSString *) aString;
compare 方法 :将接收对象和传递过来的字符串逐个进行比较,它返回一个NSComparisonResult(就是一个enum型枚举)显示比较结果
enum
{
NSOrderedAscending = -1, //一
NSOrderedSame, //二
NSOrderedDescending //三
};
typedef NSInteger NSComparisonResult;
如果返回的 是 一 那么左侧的数值就小于右侧的数值 比如:[@"aardvark" compare:@"zygote"]
[@"zoinks" compare: @"jinkies"]将会返回NSOrderedDescending.
[@"fnord"compare:@"fnord"]; 返回的是NSOrderedSame。
不区分大小写的比较 compare方法的延伸
- (NSComparisonResult) compare: (NSString *) aString
options: (NSStringCompareOptions) mask;
options 参数是一个掩位码。你可以使用位或bitwise-OR运算符(|)来添加选项标记。一些常用选项如下
NSCaseInsensitiveSearch: 不区分大小写字符
NSLiteralSearch: 进行完全比较,区分大小写字符。
NSNumericSearch : 比较字符串的字符个数,不是字符串值。如果没有这个选项,100会排在99的前面,程序员以外的人会觉得奇怪,甚至会觉得它是错的。
假如你想比较字符串,需要忽略大小写并按字符个数进行排序,那么应该这么做
if ([thing1 compare : thing2 options: NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame)
{
NSLog (@"They match!");
}
水贴也要这样水啊,那样么内容的水 是否太过分了呢
作者: 15021367785 时间: 2015-2-28 12:56
嗯嗯。。。。。。。。。
作者: zero-xiao 时间: 2015-2-28 18:15
学习一下:)
作者: ocean45 时间: 2015-2-28 20:58
学习一下,辛苦了!
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |