【非凡程序员】foundation数据类型

      在foundation框架中包含的数据类型有不可变字符串(NSString)、可变字符串(NSMutableString)、不可变数组(NSArray)、可变数组(NSMutableArray)、不可变字典(NSDictionary)、可变字典(NSMutableDictionary)、结构体、枚举类型以及NSNull类型。

    首先创建一个不可变的字符串有两种方式:

 NSString *string=@"123456";
 NSString *string1=[NSString stringWithFormat:@"这是第%i个月",5];

   而可变的字符串创建需要给它初始的内存空间,并且可以对它进行删除与追加操作:

 NSMutableString *string1=[NSMutableString stringWithCapacity:10];
 [string appendString:@"可变字符串"];//追加
 NSRange str=[string rangeOfString:@"字符串"];
 //查找范围
 [string deleteCharactersInRange:str];
//对字符串进行删除部分操作

   同样的,创建不可变的数组也有两种方式:

 NSArray *ac=[NSArray arrayWithObject:@"123",@"456",@"789",nil];
 NSArray 这种则不需要跟nil
 for (NSInteger i=0; i<[array count]; i++)
   {
   NSLog(@"%@",array[i]);
   }//用for循环输出各个元素

 在闯将可变的数组时,也只有一种方式但是不需要进行内存的分配,可以对其进行删除,添加等操作:

NSMutableArray *array=[NSMutableArray arrayWithObjects:@"123",@"456", nil];
[array addObject:@"789"];//添加一个数组对象
[array removeObject:@"123"];//删除一个数组对象
[array removeObjectAtIndex:2];//删除下标为2的那个对象
[array removeAllObjects];//删除全部
[array removeObjectsInArray:array];//删除整个数组
for (int i=0; i<[array count]; i++) 
 {
     NSLog(@"%@",array[i]);
 }

   字典也是一个集合关键是key与Vaule,也分为可变字典与不可变字典,首先创建一个不可变的字典:

   NSArray *vauleArray=@[@"Alice",@"20",@"西安"];
   NSArray *keyArray=@[@"name",@"age",@"location"];
   NSDictionary *dic=[NSDictionary dictionaryWithObjects:vauleArray forKeys:keyArray];
    //通过数组传值
    NSDictionary 内容",@"t2":@"T2内容",};//也可以直接定义

   而可变的字典则是:借用不可变字典中的数组,则可对此字典进行修改、添加、删除操作

 NSMutableDictionary *dic=[NSMutableDictionary dictionaryWithObjects:vauleArray forKeys:keyArray];
      [dic addEntriesFromDictionary:@{@"sex":@"女"}];
      [dic setValue:@"男" forKey:@"sex"];
      [dic removeObjectForKey:@"sex"];
      [dic removeAllObjects];

      这些都是foundation中最基本的数据类型。这样可以很方便的实现某些功能,比如验证码中的不区分大小写比较两个字符串,或者全部转大写或者全部转为小写。

你可能感兴趣的:(【非凡程序员】foundation数据类型)