黑马程序员——foundation框架(一)

------- android培训java培训、期待与您交流! ----------


字符串比较

#import <Foundation/Foundation.h>
void test(){
    NSString *str = @"abc";
    NSString *str1 =@"ABc";
    
    //取出每个字符的ASCII码值,比较ASCII码值大小
    //compare 默认的区分大小写
    
    //       NSComparisonResult result = [str compare:str1];
    NSComparisonResult result = [str compare:str1 options:NSCaseInsensitiveSearch|NSNumericSearch];
    switch (result) {
        case NSOrderedAscending:
            NSLog(@"str<str1");
            break;
        case NSOrderedDescending:
            NSLog(@"str>str1");
            break;
        case NSOrderedSame:
            NSLog(@"str=str1");
            break;
        default:
            break;
    }

}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        NSString *str = @"abc";
        NSString *str1 =@"bc";
        NSString *str2 = [NSString stringWithFormat:@"Abc"];
        
        //地址的比较
        
        //判断字符串内容真正是否相等,使用的是
        //isEqualToString
        if ([str isEqualToString:str2]) {
            NSLog(@"相等");
        }else{
        
            NSLog(@"不相等");
        }
        
        
    }
    return 0;
}

检测字符串的前缀和后缀

#import <Foundation/Foundation.h>

void test(){

    NSString *url =@"http://ios.itcast.cn";
    
    //检测一个字符串的前缀是否以http://开头或者https://开头
    //str hasPre
    
    if ( [url hasPrefix:@"http://"]||[url hasPrefix:@"https://"]){
        
        NSLog(@"这是网址");
    }else{
        
        NSLog(@"这不是网址");
    }
    
    //检测字符串的后缀
    //xxx.jpg   判断字符串的后缀是否是“.jpg”
    //xxx.png
    //xxx.gif
    //xxx.jpeg
    
    NSString *imgName = @"xxx.jpg";
    
    if([imgName hasSuffix:@".jpg"]||[imgName hasSuffix:@".png"]||[imgName hasSuffix:@".gif"]){
        
        NSLog(@"这是图片");
    }else{
        
        NSLog(@"这不是图片");
    }
}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //字符串的查找
        //查找某个字符串在另外一个字符串中首次出现的位置
        //如果查找到了,返回
        //如果查找不到,返回的信息:location 特别大的数(NSNotFound)  length 0
        //rangeOfString
        
        NSString *str1 = @"dfdffefefaios";
        NSString* str2 =@"ios";
        
        //range 结构体变量
       NSRange range = [str1 rangeOfString:str2];
        if (range.location!=NSNotFound) {
            
        
        //        .location 表示字符串首次出现的位置
        //        .length 表示字符串出现的的长度
        NSLog(@"%lu,%lu",range.location,range.length);
        }else{
        
            NSLog(@"没有找到这个字符chua");
        }
        
    }
    return 0;
}



字符串的截取和替换

#import <Foundation/Foundation.h>
void test(){
    NSString *str = @"http://www.baidu.com";
    
    //1从 xx位置开始,到最后结束
    NSLog(@"%@",[str substringFromIndex:5]);
    
    //2 从开始位置,xx结束(不包含xx)
    NSLog(@"%@",[str substringToIndex:5]);
    //        NSRange r = {3,4};
    //3 截取范围 range
    NSLog(@"%@",[str substringWithRange:NSMakeRange(3, 4)]);
    
    
}
//字符串截取的练习
void test2 (){
    
    NSString *str = @"<itcast>传智播客IOS学院</itcast>";
    
    NSUInteger loc = [str rangeOfString:@">"].location + 1;//“传”的位置
    NSUInteger len = [str rangeOfString:@"</"].location-loc;
    NSRange r2 = {loc,len};
    NSString *str2 = [str substringWithRange:r2];
    NSLog(@"%@",str2);
    


}
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //字符串的替换
        NSString *str =@"adfefdirrpfb.f,gmqergjl";
        
        //把a替换成*
       NSString *newstr = [str stringByReplacingOccurrencesOfString:@"a" withString:@"*"];
        
        NSLog(@"%@",newstr);
        
        //把空格给去掉
        str = @"asddeo doenge dp[a, depx,d deofm";
        
        NSString *str2 =[str stringByReplacingOccurrencesOfString:@" " withString:@""];
        
        NSLog(@"%@",str2);
        
    }
    return 0;
}

NSString的其他用法

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
       //OC的字符串和C的字符串互相转换
        
        char *s = "zhangsanfeng";
        
        NSString *str = [NSString stringWithUTF8String:s];
        
        NSLog(@"%@",str);
        
        NSString *str2 = @"zbz";
        
        //把str2转c得字符串
        const char *s1 = [str2 UTF8String];
        
        printf("%s",s1);
    }
    return 0;
}

NSMutableString的使用

//创建一个可变的字符串
    NSMutableString *str = [NSMutableString string];
    
    //给字符串增加元素
    [ str appendString:@"http://www.baidu.com/%d"];
    
    //删除字符串的元素(按照NSRange格式)
    [str deleteCharactersInRange:NSMakeRange(3, 4)];
    NSLog(@"%@",str);
    
    //插入一个字符串在下标为3的位置
    [str insertString:@"p://" atIndex:3];
    NSLog(@"%@",str);
    
    //用NSRange格式插入一个字符串,位置为(下标为11,长度为5)
    [str replaceCharactersInRange:NSMakeRange(11, 5) withString:@"itcast"];
    NSLog(@"%@",str);

}


NSArray的使用


#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //NSArray特点:一旦创建成功,内容不可改变
                    //只能存放OC的对象
        
        //1.创建一个空数组
        NSArray *arr1 = [NSArray array];
        NSLog(@"arr1 = %@",arr1);
        
        //2.创建只有一个元素的数组
        NSArray *arr2 = [NSArray arrayWithObject:@"2"];
         NSLog(@"arr2 = %@",arr2);
        
        //3.创建有多个元素的数组
        NSArray *arr3 = [NSArray arrayWithObjects:@"one",@"two",@1, nil];
         NSLog(@"arr3 = %@",arr3);
        
        //4.调用对象方法,创建数组
        NSArray *arr4 = [[NSArray alloc] initWithObjects:@"three",@"four", nil];
         NSLog(@"arr4 = %@",arr4);
        
        //5.用一个数组可以创建一个数组
        NSArray *arr5 = [NSArray arrayWithArray:arr3];
         NSLog(@"arr5 = %@",arr5);
        
    }
    return 0;
}


NSArray数组的遍历

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        NSArray *arr = @[@"one",@"two",@"three",@"four"];
        
        //对数组进行遍历
        for (int i = 0; i<arr.count; i++) {
            NSLog(@"%@",arr[i]);
        }
        //普通的方式,通过下标访问
        
        //快速枚举法 for循环的增强模式
        for (NSString *str in arr) {
            NSLog(@"%@",str);
        }
        
        //使用block的方式,进行访问           数组元素            元素下标            是否停止
        [arr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            if (idx == 2) {
                *stop= YES;
            }else{
            NSLog(@"idx = %ld,obj = %@",idx,obj);
            }
            }];
        
    }
    return 0;
}

NSMutableArray的基本使用
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        //数组的使用
        //创建数组
        //空数组
        NSMutableArray *arr =[NSMutableArray array];
        
            //创建的时候初始化一个元素
        NSMutableArray *arr2 = [NSMutableArray arrayWithObject:@"one"];
        
        //创建的时候初始化多个元素
        NSMutableArray *arr3 = [NSMutableArray arrayWithObjects:@"one",@"two", nil];
        
        //创建一个数组,并且制定长度
        NSMutableArray *arr4 = [NSMutableArray arrayWithCapacity:5];
        
        NSLog(@"%@",arr4);
        
        //添加元素
        [arr addObject:@"fengjie"];
        
        
        [arr insertObject:@"zbz" atIndex:1];
        NSLog(@"%@",arr);
        
        //删除元素
        
        //根据对象内容删除
//        [arr removeObject:@"zbz"];
        NSLog(@"%@",arr);
        
        //根据对象下标删除
        [arr removeObjectAtIndex:1];
        NSLog(@"%@",arr);
        
        [arr removeAllObjects];
        NSLog(@"%@",arr);
        
        //修改元素
        [arr3 replaceObjectAtIndex:1 withObject:@"four"];
        
        NSLog(@"%@",arr3);
        
        arr3[1] = @"five";
        NSLog(@"%@",arr3);
        
        //查找元素
        BOOL isSerach = [arr3 containsObject:@"one"];
        
        NSLog(@"%d",isSerach);
        
        //交换元素
        NSMutableArray *arr5 = [NSMutableArray arrayWithObjects:@1,@2,@3,@4,@5, nil];
        [arr5 exchangeObjectAtIndex:0 withObjectAtIndex:4];
        NSLog(@"%@",arr5);
        
    }
    return 0;
}


NSDictionary的使用

//不可变的,一旦创建,内容就不能添加/删除
        NSDictionary *dir = [NSDictionary dictionary ];
        
        NSDictionary *dir2 = [NSDictionary dictionaryWithObject:@"张三" forKey:@"zs"];
        
        //创建一个字典,前面的是value值,后面是key值,两个一组
        NSDictionary *dir3 = [NSDictionary dictionaryWithObjectsAndKeys:
                              @"value1",@"k1",@"value2",@"k2", nil];
        
        NSLog(@"%@1",dir2);
        
        //快速创建一个字典
        //key值不能重复:
        //如果重复了,不会报错,
        //如果重复了,最后添加不会保存到字典中
        NSDictionary *dir4 = @{@"zs":@"zhangsan",@"ls":@"list",@"bz":@"bangzhang"};
        
        NSLog(@"%@1",dir4);
        
        //获取字典的长度
        NSLog(@"%lu",dir4.count);
        
        //根据key值取出value值
        
        NSLog(@"%@",[dir4 objectForKey:@"zs"]);
        
        //字典的遍历问题
        
        for (NSString* key in dir4) {
            
            NSLog(@"k =%@,value = %@",key,[dir4 objectForKey:key]);
            
        }
        
        [dir4 enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
            
            NSLog(@"%@ = %@",key,obj);
        }];

NSDictionary的简写

//用简写形式定义一个字典
    NSDictionary *dict = @{@"zbz":@"zhangbozhi",@"cgx":@"chengguanxi",@"xzmly":@"hello"
                           };
    
    //用简写形式,获取key对应的value
    NSLog(@"%@",dict[@"zbz"]);


NSMutableDictionary的使用

//可变字典的创建
        NSMutableDictionary *dict = [NSMutableDictionary dictionary];
        
        NSMutableDictionary *dict2 = [NSMutableDictionary dictionaryWithCapacity:3];
        
        //给可变字典添加键值对
        [dict setValue:@"lisi" forKey:@"ls"];
        [dict setValue:@"zhaosi" forKey:@"zs"];
        
        [dict setValue:@"liuneng" forKey:@"ln"];
        
        NSLog(@"%@",dict);
        
        //删除
        [dict removeAllObjects];
        
        //修改
        [dict setObject:@"zhaoshi" forKey:@"ls"];
        
        dict[@"ls"] = @"xxx";
        
        NSLog(@"%@",dict);
        
        //查找
       NSArray *arr = [dict allKeys];
        
        [arr containsObject:@"ls"];



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值