NSString

【1.NSString 的创建】

1.Objective-C语言中定义字符串的几种方式

 1 void stringCreate()
 2 {
 3     //c语言方式
 4   //  char *s="A string!";
 5
 6     //第一种方式
 7     NSString *str11=@"A String!"; //这种方式创建出来的是不需要释放内存
 8     //第二种方式
 9     NSString *str22=[[NSString alloc] init];
10     str22=@"A string";
11     //释放
12     //[str2 release];
13
14     //第三种方式
15     NSString *str3=[[NSString alloc] initWithString:@"A String!"];
16
17     //这种方式不需要管理内存,因为没有alloc
18     str3=[NSString stringWithString:@"A String!"];
19     //释放
20     //[str3 release];
21
22     //第四种方式
23     NSString *str4=[[NSString alloc] initWithUTF8String:"A String!"];
24     //释放
25     //[str4 release];
26     str4=[NSString stringWithUTF8String:"A String!"];
27
28
29     //第五种方式
30     NSString *str5=[[NSString alloc] initWithFormat:@"My age is %i and height is %.2f",19,1.55f];
31
32     NSLog(@"str5 is %@",str5);
33     //释放
34     //[str5 release];
35        NSString *str6=[NSString  stringWithFormat:@"My age is %i and height is %.2f",19,1.55f];
36
37 }

2.Objective-C中从文件中(例如*.txt中读出内容)。

 1 void stringCreate2()
 2 {
 3
 4
 5     //从文件中读取文本
 6     NSString *path=@"/Users/haiyefeng/Desktop/test.txt";//这里有不同的编码方式和解码方式
 7     NSString *str1=[NSString stringWithContentsOfFile:path]; 【1】这里标红的是传输方式,也就是以文件类型
 8     NSLog(@"%@",str1);

3.Objective-C 中对文件的读取如果不能读取所使用抛异常的方式。

【1】首先要定义一个error来作为存储错误,如果error有值,那就是有错,没值,就没错。

【2】定义一个字符串地址path来保存文件路径。

【3】通过    NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error1     来读取是否能读取

【4】通过下面的判断,如果error有值,就有错,否则没有。

 1     //抛异常
 2     //定义一个error变量,主要来用来判断是否异常,如果=0,就是没有错,有值就是有错;
 3
 4    NSString *path=@"/Users/haiyefeng/Desktop/test.txt";
 5     NSError *error1;
 6     NSString *str3=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error1];
 7    // stringWithContentsOfFile 的意思是文件的路径 NSUTF8StringEncoding 是文件的编码方式  error 是传入的错误,后面的变量要传入指针地址
 8     if(error1==nil)
 9     {
10         NSLog(@":读取文件成功%@:",str3);
11
12     }else
13     {
14         NSLog(@"读取文件失败%@",error1);
15     }
16     

4.objective-C读取文件

    NSURL *url=[NSURL URLWithString:@"file:///Users/haiyefeng/Desktop/test.txt"];4     NSString *str2=[NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];5     NSLog(@"%@",str2);

5.Objective-C读取网页

 1 void stringCreate3()
 2 {
 3  6
 7     //读取网页
 8     NSURL *url2=[NSURL URLWithString:@"http://www.baidu.com"];
 9     NSString *str3=[NSString stringWithContentsOfURL:url2 encoding:NSUTF8StringEncoding error:nil];
10     NSLog(@"%@",str3);
11
12
13
14 }

6.Objective-C中将内存地址的内容改变。

void test(NSString **str)   【3】通过传入指针地址的指针地址来改变指针的内容。
{
(*str)=@"123";              【4】将指针地址内容改变为123
}int main(int argc, const char * argv[])
{@autoreleasepool {//这里是改变字符串内容,NSString *s=@"456";  【1】首先创建一个指针s指向内容为456的字符串test(&s);            【2】调用test方法,将s的地址传入上面的方法。NSLog(@"%@",s);      【5】输出,那就是改变了*s的内存地址了。}return 0;
}

【2.NSString 的导出】

【1】.首先在路径【/Users/haiyefeng/Desktop/test.txt】下创建一个test.txt文件。

【2】.使用语句 [str writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];将字符串str中的内容传入到该地址上的文件内,如果上面的path路径中没有这个文件,就会自动创建一个。【路径的文件夹路径不能错误,文件名可以没有】

【3】.[error localizedDescription]这一句是用来简化报错的内容。

void stringExport(){NSString *str=@"123456";NSString *path=@"/Users/haiyefeng/Desktop/test.txt";NSError *error;//这样的做法会覆盖 原先test.txt中的内容//atomically  中的yes代表要进行原子性操作,也就是会在创建一个中间的临时文件。//在path中如果文件不存在,也就是例子中的test.txt不存在,比如说*path=@"/Users/haiyefeng/Desktop/test111.txt";那么执行语句就会先创建一个test111.txt文件然后再将值传入。2.如果文件夹不存在,就不能传入[str writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];if(error){NSLog(@"写入失败:%@",[error localizedDescription]);//localizedDescription主要是用来减少报错信息比如本来有3行,有这个就会精简//写入失败后报错就会报主要信息//写入失败:The folder “test.txt” doesn’t exist.
        }else{NSLog(@"写入成功");}}

转载于:https://www.cnblogs.com/madeininfi/p/3535921.html

【语法】NSString相关推荐

  1. Objective-C入门IOS语法

    Objective-C入门IOS语法 文章目录 Objective-C入门IOS语法 .h 声明文件 .m 实现文件 语法 NSString NSMutableNString NSDictionary ...

  2. IOS 开发-- 常用-- 核心代码

    网络请求 (包含block 和 delegate) 数据持久化技术 手势处理' XML数据解析 多线程实现 核心动画编程 地图定位功能 CoreData数据持久化技术 本地通知和推送通知 常用宏定义 ...

  3. c语言万能预编译,Objective-C学习笔记

    import 指令(将文件的内容在预编译的时候拷贝到写指令的地方) import Foundation 框架 NSLog 函数 NSLog(@"Hello, World!"); N ...

  4. iOS 52个技巧学习心得笔记 第一章 熟悉OC

    1 .简单了解OC 2 .在类的头文件中尽量少引入其他头文件 3 .多用字面量语法 少用与之等价的方法  4 .多用类型常量 少用 #define 预处理指令 5 .用枚举表示状态,选项,状态码 1 ...

  5. oracle 修索引改空间_oracle 修改索引现有表空间

    工作日记之<修改索引现有表空间> //dba_indexes可查询所有索引,以及索引部分信息,可以灵活运用于其他用途 //假设用户USER1现有表空间TS1.TS2,需要迁移其下所有表空间 ...

  6. iOS 开发 OC编程 属性和字符串

    // //  main.m //  oc 04属性&字符串 // //  Created by dllo on 15/10/27. //  Copyright (c) 2015年 dllo. ...

  7. Objective-C基础学习笔记

    Objective-C基础学习笔记 day01-基础语法 NSString NS前缀 如何定义类 1)类的三要素 2)定义类的语法 3)注意 创建类的对象 使用对象 方法的声明和调用 定义 无参数方法 ...

  8. OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数

    1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如 ...

  9. Objective-C语法之字符串NSString去掉前后空格或回车符(可以是NSCharacterSet类型的其它字符)...

    main.m 1 #import <Foundation/Foundation.h> 2 #import "NSString+Trim.h" 3 int main(in ...

最新文章

  1. 认识PaddlePaddle
  2. html marquee
  3. 迷宫收集星星 并查集解答
  4. bugku——分析(流量分析)题解
  5. wxWidgets:滚动Scrolling
  6. 什么时候考虑使用神经网络
  7. 仿苹果涂鸦软件_有没有仿ios12备忘录便签软件?
  8. 传统企业该如何拥抱AI?德勤说野心别太大,分四步实施
  9. android控件的touch事件_聊聊Android嵌套滑动
  10. active mq topic消费后删除_RabbitMQ重复消费,顺序消费,消息丢失如何解决
  11. 给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度
  12. 解决 U盘安装Windows Server 2012 R2 报错
  13. GANs(生成对抗网络)简介与案例
  14. 新零售电商:订单管理系统设计
  15. 动手深度学习PyTorch(三)模型选择、欠拟合和过拟合
  16. 统计学简介之十七——双因素方差分析
  17. mybatis一级缓存,二级缓存的开启、关闭、清除及使用说明
  18. java时区时间ZoneOffset, ZoneId,OffsetTime,OffsetDateTime,ZonedDateTime
  19. 实现阿里云物联网平台设备信息到微信小程序分享过程
  20. miui编译第三方卡米 对应的修改步骤位置

热门文章

  1. LeetCode:贪婪算法
  2. 在windows下安装flex和bison、GCC
  3. js 导出到excel
  4. [html] marquee详解
  5. WEB标准页面CSS命名参考
  6. 产品经理该如何全局思考和分析行业产业链?
  7. 【报告】2014年移动端二次元用户调查报告:进击的90后
  8. 【pmcaff】从中国到世界:移动领域的大现状
  9. 【pmcaff】12月5日凯文·凯利上海演讲实录
  10. bzoj4589: Hard Nim