NSScanner:该类主要实现对字符串扫描。并且该扫描必须从头到尾扫描(也可以跳到指定的地方进行扫描),开始扫描必须应用到函数,连续的数字之间可以用空格隔开,如:35 15.2 451,此时可以连续获得3个数据,而不用再去扫描空格。
是否扫描空格:
注意:在扫描的时候,如果 空格是不需要扫描的,那么将会忽略空格。
如下代码:
2 int i;
3 float f;
4 NSString *theString = @" my age is ";
5 NSString *resultString;
6 NSString *dString;
7
8 // 扫描字符串
9 NSScanner *theScanner = [NSScanner scannerWithString: string ];
10 [theScanner scanString:theString intoString:&resultString];
11 NSLog( @" resultString is %@ ",resultString);
12
13 // 扫描字符串中的d字符
14 [theScanner scanString: @" d " intoString:&dString];
15 NSLog( @" d string is %@ ",dString);
16
17
18 // 扫描字符串中的整型数据
19 [theScanner scanInteger:&i];
20 NSLog( @" intergent is %d ",i);
21 // 扫描字符串中的浮点型数据
22 [theScanner scanFloat:&f];
23 NSLog(@"float is %f",f);
输出的结果为:
2012-08-18 16:01:26.419 ScannerDemo[1225:f803] resultString is my age is
2012- 08- 18 16: 01: 33.735 ScannerDemo[ 1225:f803] intergent is 23
2012- 08- 18 16: 01: 35.359 ScannerDemo[ 1225:f803] float is 34.000000
解析:在字符串
string 中,“is”和“d”之间的空格不需要扫描的,然后我定义了一个 theString 字符串,该字符串之后没有空格,然后扫描 theString d,此时空格没有计入扫描的范围内,所以扫描会忽略空格。
一、将十六进制转化为十进制。如下:
unsigned int r;
NSString *rString = @"EF";
实例应用:
一、过滤字符串开始位置和结束位置的空格
1 NSString *testString = @" my name is wang tianqiao ";
3 NSString *cString = [testString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
4 NSLog(@"cString is %@",cString);
1:continuous属性:该属性是个布尔值,如果值为YES的话,在拨弄UISlider拇指过程中,将时时刻刻调用UISlider的触发事件。如果值为NO的话,那么只有在UISlider拇指被释放后,才调用UISlider的触发事件,并设置最终的值。
用途:可用于对某一件事件的实时触发,或者是最终触发。比如:自己设定一个颜色查看器。