您的位置:首页 > 其它

OC--第一周精华

2015-11-27 21:55 197 查看
一.类与对象
     1.类:抽象的事物
      
对象:万事万物
皆对象
       .h 
与 .m
文件
各自实现什么功能
     2.创建对象
       
公式:类名  *对象名 = [[类名 alloc]init];
       
分析:alloc 
开辟一块自己的位置
                    
init
创建一个对象
     3.#import
导入系统框架   @class
也可以导入但是只可以声明一个对象 
不能实例化一个对象
二.方法(函数)的使用
公式:

- (返回值类型)方法名:(参数类型)参数名
方法名:(参数 
类型)参数名
调用:[对象名  
方法名];
1.无参数 
无返回值
 
例如:(1)记得先声明类
              
(2)
声明部分
      
- (void) dahuacatBehivior;              

              
(3)实现部分
      
- (void) dahuacatBehivior  

        
{
        
 NSLog(@"一只叫大花的猫吃饭了");
        
}
     
(4)调用部分
                 
Behivior *dahuacat=[[Behivior
alloc]init];
    
 [dahuacat dahuacatBehivior];
2.有参数 
无返回值 

             
(1)声明部分
                 
- (void) daHuaCatZhuaLaoShu:(NSString
*)message;
    
(2)实现部分
                
- (void) daHuaCatZhuaLaoShu:(NSString
*)message
       
{
         
 NSLog(@"%@",message);
       
}
             
(3)调用部分
     
Behivior *dahuacat=[[Behivior
alloc]init];
    
[dahuacat daHuaCatZhuaLaoShu:@"一只叫大花的猫开始捉老鼠了"];
三.字符串的处理

  1.初始化字符串
  
NSString*string =
[NSString string];
  NSString *string
= [[NSStringalloc]init];
  2.初始化并赋值
        NSString *string
=
@"我是好学生。";
  3.大小写转换
    
关键词:uppercaseString(转成大写) 

                     lowercaseString
(转成小写)
       
capitalizedString(首字母大写)
 
例如:
        
 NSString* string = @"I  am  wanglong";
      
NSString *s1 = [string uppercaseString];
       
NSLog(@"%@",s1);//转成了大写
      
NSString *s2 = [string lowercaseString];
       
NSLog(@"%@",s2);//转成了小写
      
NSString * s3 = [string capitalizedString];
       
NSLog(@"%@",s3);//把首字母转成了大写其它不变
4.判断字符串是不是以什么开头或者结尾
    
关键词:    
hasPrefix     
hasSuffix
例如1:(判断开头是不是王)
       
 NSString * string =
@"王龙";
      
BOOL s = [string
hasPrefix:@"王"];
      
if (s!=NO){
          
1aa70
NSLog(@"是以王字开头的");
       }
      
else{
          
NSLog(@"不是以王字开头的");
       }
例如2:(判断结尾是不是龙)
              
NSString * string =
@"王龙";
      
BOOL s1 = [string
hasSuffix:@"龙"];(注意用bool变量进行接收)
      
if (s1!=NO){
          
NSLog(@"是以龙字结尾的");
       }
      
else{
          
NSLog(@"不是以龙字结尾的");
       }
5.有一个范围的关键字(用来确定一个范围)
  
NSRange:范围
 
  范围包含起点位置和长度
  
(1)赋值方式一
  NSRange range;
  range.location=1;
  range.length=3;
 
(2)赋值方式二
     
 NSRange range = {1,3};
6.查看字符串是否包含什么字符
关键词:rangeOfString  

      
NSNotFound  表示没找到
例如: NSString * string =
@"王龙";
        
NSRange  range = [string
rangeOfString:@"王"]; 
//注意类型
       
if(range.location!=NSNotFound)
{   //注意条件的填写
          
NSLog(@"找到了王字");
       }
      
else{
          
NSLog(@"没有找到王字");
       }
7.判断两个字符串是否相同
关键词:isEqualToString
例如:(注意用bool变量进行接收)
       
NSString * string =
@"王龙";
      
BOOL  isEual = [string
isEqualToString:@"王隆"];
      
if (isEual!=YES){
          
NSLog(@"这两个不相同");
       }
      
else{
          
NSLog(@"这两个相同");
       }
8.不可变字符串的拼接
 拼接字符串的方法 
会返回一个拼接好的新的字符串
   stringByAppendingString:@""
   stringByAppendingFormat:@""
例如:NSString * string =
@"王龙";
     
NSString *new = [string
stringByAppendingString:@"是个好人"];
      
NSLog(@"%@",new);
      
NSString *new1 = [string stringByAppendingFormat:@"66"];
      
NSLog(@"%@",new1);
9.截取字符串
 
关键词:
       
(1)substringToIndex:2 
从开头截到第2个
     
(2)substringFromIndex:3  
从第三个截取到最后
     
(3).substringWithRange:range
从第几个开始截到第几个
例如:
     
 NSString * string =
@"大宝是个不知道操心的人";
      
NSString *new1 = [string substringToIndex:2];
       
NSLog(@"%@",new1);//截取前两个
      
NSString *new2 = [string substringFromIndex:4];
       
NSLog(@"%@",new2);//截取从第四个开始到最后
      
NSRange range = {3,2};
      
NSString *new3 = [string substringWithRange:range];
       
NSLog(@"%@",new3);//截取一个范围的字符
10.格式化一个字符串(理解格式化的意思)
  NSString *s=[NSString stringWithFormat:@""];
11.格式化的拼接
stringByAppendingFormat@""拼接多个格式化的字符串
例如:NSString * string =
@"大宝是个不知道操心的人";
       
NSString * s1 =
@"是的";
      
NSString *s2 =
@"吗";
      
int s3 = 100;
      
NSString *new1 = [string stringByAppendingFormat:@"%@%@%d",s1,s2,s3];
       
      
NSLog(@"%@",new1);
12.数据转换
   (1)把一个实型转换成字符串
   
例如:
         
float a =
100.0;
      
NSString *string = [NSString
stringWithFormat:@"%f",a];
      
NSLog(@"%@",string);
 (2)用类型+value进行转换
   
例如:
         
NSString *s =
@"100";
      
NSLog(@"%@",s);
      
int s1 = [s intValue];
      
NSLog(@"%d",s1);
13.可变字符串(注意不可以直接赋值)
 
(1)初始化
  
#.NSMutableString *string=[NSMutableString string];
  #. NSMutableString *s=[[NSMutableStringalloc]init];
 
(2)初始化并赋值
      #:NSMutableString *string1=[NSMutableStringstringWithString:@""];
  #.NSMutableString*string2=[NSMutableString stringWithFormat:@""];
  (3)拼接
         
 appendString 

   
appendFormat拼接格式化的字符串(适用于拼接多个并且可以是不同类型的)
   
例如:
   
NSMutableString *string = [NSMutableString
stringWithString:@"大宝是"];
      [string
appendString:@"个不操心的人"];
      
NSLog(@"%@",string);
 
      
int a=100;
      
NSString *s =
@"确实";
       [string
appendFormat:@"%d%@",a,s];
      
NSLog(@"%@",string);
(4)增 


  
 NSMutableString*string = [NSMutableString stringWithString:@"大宝是"];
 
[stringinsertString:@"个不操心的人"
atIndex:3];
       
NSLog(@"%@",string); 
增加
      
NSRange range = {4,4};
  [string
deleteCharactersInRange:range];
       
NSLog(@"%@",string); 
删除
       
NSRange range1 = {4,1};
  [string
replaceCharactersInRange:range1
withString:@"好"];
       
NSLog(@"%@",string); 
修改
四.数组
   1.初始化
   
 NSArray *list1 = [[NSArray alloc]init];
  
NSArray*list = [NSArray array];
 2.初始化并赋值
    
(1)直接赋值
          
NSArray *arry = @[@"数组元素",@"数组元素"];
       
(2)初始化只有一个元素的数组
   NSArray *list = [NSArray arrayWithObject:@"...."];
  
(3)初始化有多个元素的数组(注意最后边一个元素的逗号不能省略
nil不能省略)
   NSArray *list = [NSArrayarrayWithObjects:@"kkk",@"ddd", nil];
 3.数组取值
   
(1)公式:数组名[下标];
             
例如:(也可以用for循环进行遍历 
注意
数组名.count
的使用)
         
NSArray *list =
@[@"我",@"是",@"学生"];
      
NSString *s = list[0];
      
NSLog(@"%@",s);
 
(2)通过方法取值
          
关键词:oblectAtIndex
         
例如: NSArray *list = @[@"我",@"是",@"学生"];
        NSString *s2 = [list
objectAtIndex:1];
        NSLog(@"%@",s2);
  (3)数组遍历
            #:快速遍历
           
例如: NSArray *list = @[@"我",@"是",@"学生"];
         
for (NSString *string
in list) {
          
NSLog(@"%@",string);
      
   }
  
拓展:用快速遍历来遍历对象时 
注意条件的填写 
类名
  4.把字符串 
转成数组(注意第一步把字符串以某个符号分割开  此符号将被过滤掉)
例如:(注意关键词)
      
NSString *string =
@"冬天,夏天,春天,秋天";
      
NSArray *list = [string
componentsSeparatedByString:@","];
      
for (NSString*s
in list) {
          
NSLog(@"%@",s);
       }
   5.把数组转换成字符串
例如:(注意关键词)
                   
NSArray *list =
@[@"春",@"夏",@"秋"];
       
NSString *s =[list
componentsJoinedByString:@","];
      
NSLog(@"%@",s);
6.可变数组(注意不可直接赋值)
   
(1)不可变数组里边的方法  都可以在可变数组里用
   
(2)初始化空数组
   
NSMutableArray*list = [NSMutableArray array];
    
(3)初始化并赋值
          #:NSMutableArray *list = [NSMutableArrayarrayWithObjects:@"",@"",
nil];  
      
(4)增 
删 
改 

          
例如:
 NSMutableArray *list = [NSMutableArray
arrayWithObjects:@"春",@"夏",@"秋",
nil];
       [list
addObject:@"冬"];
      
for (NSString*s
in list) {
          
NSLog(@"%@",s);
        } 

      
[list removeObject:@"春"];
       for (NSString *s1 in list) {
          NSLog(@"%@",s1);
        }删指定内容的
       [list removeObjectAtIndex:2];
       for (NSString *s2 in list) {
           NSLog(@"%@",s2);
        } 
删指定下标的
        [list removeLastObject];删最后一个
       [listremoveAllObjects];删所有
       
     
 
//替换 
     [list replaceObjectAtIndex:0 withObject:@"王龙"];
      
for (NSString*s3
in list) {
          
NSLog(@"%@",s3);
       }
       
       
       
//查找内容  
确定位置        
      
NSString *a =
@"秋";
      
NSUInteger i = [list indexOfObject:a];
      
NSLog(@"%lu",i);
五.字典
    1.什么是字典
     key和值对应存在的数据集合就是字典
   2.初始化空的字典
      #.
NSDictionary *d = [NSDictionary
dictionary];
   #.NSDictionary *s = [[NSDictionary
alloc]init];
  3.初始化字典并且赋值
    
(1).直接赋值(常用)
       
公式:NSDictionary *dic =@{@"Key":@"值",@"key1":@"值1"};
  
例如:NSDictionary *people1 =
@{@"name":@"张三",@"age":@22,@"face":@"帅",@"height":@"高",@"sex":@"男",@"weight":@"50",};
 
(2).通过方法(函数)赋值(注意值和key的先后顺序)(不常用)
       
例如:NSDictionary *p1 = [NSDictionary
dictionaryWithObjectsAndKeys:@"张三",@"name",
nil];
4.从字典里取值(通过key取值)
    
(1).公式:字典名[key]
        
例如:NSString *name = people1[@"name"];(用到的字典就是上边的范例)
   
(2).字典的遍历
         #:用到的方法
     
allKeys获得字典里所有的key
     
allValues  获得字典里所有的值
      
例如:(用到的字典还是上边的)
     
NSArray *allKey = people1.allKeys;
     
   for (NSString
*key in allKey) {  //用到快速遍历的for方法
      
    NSLog(@"%@",people1[key]);
       }
 (3).通过方法(函数)取值
      
(1)先初始化并赋值一个字典如下:
                  
NSDictionary *p1 = [NSDictionary
dictionaryWithObjectsAndKeys:@"张三",@"name",
nil];
  
(2)开始取值
      
NSString *value =[people1
objectForKey:@"name"];
                  NSLog(@"%@",value);
      
输出结果:张三
5.可变字典(增 
删 
改 
查)
      
增:[字典名 setObject:@“值”
forKey:@“key”];

      
删:(1).删除一个
      
公式:[字典名removeObjectForKey:@"key"];

               
(2).删除多个  

                   
分析:定义一个数组,把想要删除的元素的key放进数组,如下:
       
NSArray *keys = @[@"title"];
 
     [dic removeObjectForKey:keys];
               
(3).删除全部元素
                 
公式: 
[字典名removeAllObjects];
     
改(替换):
                 
分析

替换与增加一样 
若原来那个键位有值那就是覆盖 
没有就是添加
                 
公式:
[字典名 setObject:zhi forKey:key];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: