黑马程序员-Foundation框架及NSStr…

来源:互联网 发布:svd求逆矩阵 编辑:程序博客网 时间:2024/04/28 01:43

-----------android培训java培训、java学习型技术博客、期待与您交流!------------ 

Foundation框架

 框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易.

 Foundation框架允许使用一些基本对象,如数字和字符串,以及一些对象集合,如数组,字典和集合,其他功能包括处理日期和时间、内存管理、处理文件系统、存储(或归档)对象、处理几何数据结构(如点和长方形)

显示隐藏文件 : defaultswrite com.apple.finder AppleShowAllFiles –booltrue

隐藏隐藏文件: defaults write com.apple.finder AppleShowAllFiles –boolfalse


NSString的用法

   1).直接创建方式:

    NSString*str = @"abc";

   2).格式化创建:

    NSString*str = [NSString stringWithFormat:@"%@", @"jack"];

    NSString*str = [[NSString alloc] initWithFormat:@"My age is %d",10];

   3).文本编码:

   中文 GBK2个字节)    GB23122个字节)

    UTF -8:国际通用编码(3个字节)

   4).字符串写入文件:

   //错误对象

    NSError*err;

    [strwriteToFile:@"/Users/zhaoxiaohu/Desktop/"atomically:YES  encoding:NSUTF8StringEncodingerror:&err];

   5).字符串从文件读取:

    NSString*str = [NSStringstringWithContentsOfFile:@"/Users/zhaoxiaohu/Desktop/str.txt"encoding:NSUTF8StringEncoding error:&err];

   6).字符串比较函数:

   NSComparisonResult result = [str1 compare:str2];

   //比较的时候,不区分大小写,参考字符的个数进行比较

   NSComparisonResult result = [str1 compare:str2options:NSCaseInsensitiveSearch|NSNumericSearch];

   返回值:

   NSOrderedAscendingstr1)升序

   NSOrderedDescending(str1>str2)降序

   NSOrderedSame(str1 = str2)相等

  7). 判读字符串是否相等:

    NSString*str1 = @"abc";

    NSString*str2 = @"abc";

    str1 ==str2      比较的是地址 (==比较的是字符串的地址)

    [str1isEqualToString:str2],比较的是内容,区分大小写(这个方法非常常用)

   8). 检测字符串前后缀:

    NSString*url = @"http://asdfasdfasdfaasdfadsfaf";

    [urlhasPrefix:@"http://"]字符串是否以http:开头

  NSString*imgName = @"logo.jpg";

    [imgNamehasSuffix:@".jpg"]检测字符串是否以.jpg结尾

   9).查找字符串:

    NSString*str = @"asitcastdfafsadfxyz asdfasdfsadfa sadf";

    NSRangerange = [str rangeOfString:@"itcast"];

  //NSNotFound是一个最大的long无符号数

   //如果查找不到 range.location是一个最大的long 无符号数

   //range.location 表示字符串首次出现的位置

   //range.length   表示子字符串的长度

    if(range.location != NSNotFound) {

       NSLog(@"位置:%lu,长度:%lu",range.location,range.length);

   }else{

      NSLog(@"没有查找到");

   }

   格式:

       NSRange range = [str1rangeofString:str2]; //str1 中找str2



NSString的代码实现

#import

voidtest(){

  //NSString字符串保存到文件中

   NSString*str= @"zhangsanfeng";

   //文本编码:

   //   中文GBK  GB2312

   //             3

   //   UTF-8 :国际通用编码

   //         2

    //writeTofile的方法

   //       strwriteToFile:@"文件的路径"atomically:原子性(YES/NO)encoding:NSUTF8StringEncoding error:nil

   //错误对象

    NSError*err;

   [str writeToFile:@"/Users/zhaoxiaohu/Desktop/"atomically:YES encoding:NSUTF8StringEncodingerror:&err];

    //writeToFile方法,如果写入文件成功,err== nil

   //err != nil

    if(err != nil){

       NSLog(@"写入失败!,%@",err);

    }else{

      NSLog(@"写入成功");

    }

}

intmain(intargc, constchar* argv[]) {

   @autoreleasepool {

      NSError *err;

      //       NSString *str = [NSStringstringWithContentsOfFile:@"待读取的文件的路径"encoding:NSUTF8StringEncoding(编码)error:&err(有没有错误)]

      NSString*str= [NSStringstringWithContentsOfFile:@"/Users/zhaoxiaohu/Desktop/str.txt"encoding:NSUTF8StringEncodingerror:&err];

      if (err !=nil) {

          NSLog(@"读取失败!,%@",err);

       }else{

         NSLog(@"读取成功");

          NSLog(@"%@",str);

       }

    }

    return0;

 

}


-----------android培训java培训、java学习型技术博客、期待与您交流!------------ 

0 0