zoukankan      html  css  js  c++  java
  • oc-Foundation框架-NSString

    NSString是不可变的字符串
    1、NSString *str1=@"a string"//这种快速创建的方式是不用管理内存的
    2、NSString *str2=[[NSString alloc]init];
         str2=@"a string2";
         [str2 release];
    3、NSString *str2=[[NSString alloc]initWithString:@"a string3"];
          [str3 release];
    4、NSString *str4=[[NSString alloc]initWithUTF8String:"a string3"];
         [str4 release];//这个是c语言的字符串
    5、NSString *str5=[[NSString alloc]initWithFormat:@"a string3"];
          [str5 release];//后面的参数都不怎么用
    以上方法都是动态方法,都有对应的静态方法,静态方法创建的都不用管理内存

    字符串从文件中读取
    void test(){
    NSString *path=@"/users/apple/deskdop/test.txt";
    NSString *str=[NSString stringWithContentsOfFile:path];
    NSLog(@"%@",str);//这个方法已经过期了,不能解析中文,所以不用了
    }
    void test(){
    NSString *path=@"/users/apple/deskdop/test.txt";
    NSError *error;
    NSString *str=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];//红色的部分是一个是编码的枚举,这里传的是一个指针的地址
    NSLog(@"%@",str);//这个就能正确的解析中文了
    //error会自动被赋值,当文件读取成功error就会为空,当有错误的时候error就会被赋值。
    }
    将一个字符串写进一个文件中
    NSString *str=@"123456";
        NSError *error1;
        NSString *path=@"/Users/liyang/Desktop/liyang.txt";
        [str writeToFile:path atomically:false        encoding:NSUTF8StringEncoding error:&error1];
        NSLog(@"%@",error1);
    
    atomically:表示是否原子性,原子性得意思就是会将文件内容一点一点的写到一个临时的文件中,写完了过后一次性将这个文件内容拷贝到目标文件中,
    
    非原子性就是一点一点的将这个内容写到目标文件当中

    第二种url的方式写
     NSString *str=@"123456liyang李阳";
        NSError *error1;
        NSURL *url=[NSURL URLWithString:@"file:///Users/liyang/Desktop/liyang.txt"];
        [str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:&error1];
        NSLog(@"%@",error1);
    
    
    
     
    1.这里只记录一些学习笔记 2.这里只记录一些学习心得,如果心得方向有错,请留言 2.这里只记录一些日记(只为提升英语,暂时有点忙,等转行了开始写)
  • 相关阅读:
    【VS开发】CListCtrl控件使用方法总结
    【VS开发】CListCtrl控件使用方法总结
    【VS开发】CTabView多页卡界面
    【VS开发】CTabView多页卡界面
    【VS开发】关于在CFormView中实现CListCtrl控件的注意事项
    【VS开发】关于在CFormView中实现CListCtrl控件的注意事项
    【VS开发】list控件的InsertColumn方法出错
    【VS开发】list控件的InsertColumn方法出错
    【VS开发】CListCtrl控件使用
    【VS开发】CListCtrl控件使用
  • 原文地址:https://www.cnblogs.com/liyang31tg/p/3610968.html
Copyright © 2011-2022 走看看