zoukankan      html  css  js  c++  java
  • IOS基础之 (八) Foundation框架

    一 常用类

     NSRange 范围,NSPoint  点,NSSize /CSSize 大小,CGRect 

    1 NSRange

    1)NSRange是一种C语言结构用来帮助描述一系列的条款,包括一个起点位置和一个计数方法。可以对其指定起始位置以及所需的元素数量。

    2)NSRange的结构如下图所示:

     

     location是在行列中的起始位置(基于零点),而length是行列中的条目个数。NSUInteger只是单纯的一个无符号的值,它支持32位和64位系统。

     3) 例子

    NSString *param= @"0123456789";
    NSRange ns = NSMakeRange(3, 5) ;
    NSLog (@"subStr=%@", [param substringWithRange:ns]);

     输出结果为:  subStr=34567

    二 NSString

     1. 创建字符串

    NSString *string= @"hello”;
    NSString *string = [[NSString alloc] initWithString: @"hello"];

    2.拼接字符串

     1 float f = 2.4;
     2 NSString *floatStr =[NSString stringWithFormat:@"%.1f" , f];
     3 NSLog(@"%@", floatStr );
     4     
     5 double d = 68.9999;
     6 NSString *doubleStr = [NSString stringWithFormat:@"%.4f" , d ];
     7 NSLog(@"%@" , doubleStr );
     8     
     9 char c = 'c';
    10 NSString *charStr = [NSString stringWithFormat:@"%c" , c];
    11 NSLog(@"char=%@" , charStr );

    第2行:转换单精度浮点数为字符串。

    第6行:转换双精度浮点数为字符串。

    第10行:转换字符为字符串。

     3.将字符串转化成基本数据类型

    使用字符串的 floatValue, doubleValue, initValue将字符串转换为基本数据类型。

    1 NSString *str = @"32421"; 
    2 int i= [str intValue];

    4. 将字符串中的字母转换成大写

    NSString *str = @"china";
    NSString *str1 =[str uppercaseString];

    5.将字符串中的字母转换成小写

    NSString *str1 = "CHINA";
    NSString *str2 = [str1 lowercaseString];

    6.将字符串的首字母转成大写,其余转成小写。

    NSString *str = @"CHINA";
    NSString *str2 = [str capitalizedString];

    三 数组

    数组分为可变数组(NSMutableArray)和不可变数组(NSArray)。

    数组只能存放OC对象,不能放基本数据类型,可以在基本数据类型前面,加上@。

    1.不可变数组

    1. 不可变数组的创建

    2. 数组派生出新的数组

    3.数组的遍历

     1 //第一种遍历:普通for循环
     2 long int count = [array count];
     3 for (int i = 0 ; i < count; i++) {
     4     NSLog(@"1遍历array: %zi-->%@",i,[array objectAtIndex:i]);
     5 }
     6      
     7 //第二种遍历:快速for循环,需要有外变量i
     8 int i = 0;
     9 for (id obj in array) {
    10     NSLog(@"2遍历array:%zi-->%@",i,[array objectAtIndex:i]);
    11     i++;
    12 }

    2.可变数组

    定义:创建一个可变数组,并且给他配置空间,空间存满会自动扩充空间。

    注意:@[]只能创建不变数组。

    四 字典

    1. 不可变字典

    1)初始化

    NSDictionary *dic = [NSDictionary dictionaryWithObject: @"value" forKey:@"key" ];

    NSDictionary
    *dic2 = [NSDictionary dictionaryWithObjects: @[@"v1" , @"v2" , @"v3"] forKeys: @[@"k1" , @"k2" , @"k3"]];

    NSDictionary *dic3 = @{@"key1" : @"value2", @"key2" : @"value2"};

    2. 可变字典

    五 集合总结:

    1 NSString / NSMutableString。

    2 NSArray / NSMutableArray。

    1) 有序

    2) 快速创建(相对于不可变数组): @[@"a" , @"b" , @"c"]

    3) 快速访问: 数组名[i]

    3 NSSet。

    1) 无序

    4 NSDictionary / NSMutableDictionary。

    1)无序

    2)快速创建: @[ key: value, key : value]

    3)快速访问: 字典名[key] 

    5 NSSet 和 NSArray 的对比:

    1) 共同点:

       都是集合,都能存放多个OC对象。

       都能存放OC对象,但是不能存放非OC的对象类型(基本数据类型,结构体,枚举)。

       本身都不可变,都有可变的自雷。

    2) 不同点:

       NSArray是有序的, NSSet是无序的。

      

    1.有序的角度: 数组有序, 字典和集合都是无序的
    2.能否通过下标来访问: 数组可以, 字典和集合都不可以
    3.元素是否可以重复: 数组可以重复, 字典中key值不可以重复,value值可以重复, 集合中元素不可以重复
    4.打印的样式: 数组: () 字典: {} 集合:  {()}

      

  • 相关阅读:
    14.4.9 Configuring Spin Lock Polling 配置Spin lock 轮询:
    14.4.8 Configuring the InnoDB Master Thread IO Rate 配置InnoDB Master Thread I/O Rate
    14.4.7 Configuring the Number of Background InnoDB IO Threads 配置 后台InnoDB IO Threads的数量
    14.4.7 Configuring the Number of Background InnoDB IO Threads 配置 后台InnoDB IO Threads的数量
    14.4.6 Configuring Thread Concurrency for InnoDB 配置Thread 并发
    14.4.6 Configuring Thread Concurrency for InnoDB 配置Thread 并发
    14.4.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering
    14.4.5 Configuring InnoDB Change Buffering 配置InnoDB Change Buffering
    14.4.4 Configuring the Memory Allocator for InnoDB InnoDB 配置内存分配器
    14.4.4 Configuring the Memory Allocator for InnoDB InnoDB 配置内存分配器
  • 原文地址:https://www.cnblogs.com/wangshuo1/p/iOS-8.html
Copyright © 2011-2022 走看看