【语法】NSString
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相关推荐
- Objective-C入门IOS语法
Objective-C入门IOS语法 文章目录 Objective-C入门IOS语法 .h 声明文件 .m 实现文件 语法 NSString NSMutableNString NSDictionary ...
- IOS 开发-- 常用-- 核心代码
网络请求 (包含block 和 delegate) 数据持久化技术 手势处理' XML数据解析 多线程实现 核心动画编程 地图定位功能 CoreData数据持久化技术 本地通知和推送通知 常用宏定义 ...
- c语言万能预编译,Objective-C学习笔记
import 指令(将文件的内容在预编译的时候拷贝到写指令的地方) import Foundation 框架 NSLog 函数 NSLog(@"Hello, World!"); N ...
- iOS 52个技巧学习心得笔记 第一章 熟悉OC
1 .简单了解OC 2 .在类的头文件中尽量少引入其他头文件 3 .多用字面量语法 少用与之等价的方法 4 .多用类型常量 少用 #define 预处理指令 5 .用枚举表示状态,选项,状态码 1 ...
- oracle 修索引改空间_oracle 修改索引现有表空间
工作日记之<修改索引现有表空间> //dba_indexes可查询所有索引,以及索引部分信息,可以灵活运用于其他用途 //假设用户USER1现有表空间TS1.TS2,需要迁移其下所有表空间 ...
- iOS 开发 OC编程 属性和字符串
// // main.m // oc 04属性&字符串 // // Created by dllo on 15/10/27. // Copyright (c) 2015年 dllo. ...
- Objective-C基础学习笔记
Objective-C基础学习笔记 day01-基础语法 NSString NS前缀 如何定义类 1)类的三要素 2)定义类的语法 3)注意 创建类的对象 使用对象 方法的声明和调用 定义 无参数方法 ...
- OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数
1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如 ...
- Objective-C语法之字符串NSString去掉前后空格或回车符(可以是NSCharacterSet类型的其它字符)...
main.m 1 #import <Foundation/Foundation.h> 2 #import "NSString+Trim.h" 3 int main(in ...
最新文章
- 认识PaddlePaddle
- html marquee
- 迷宫收集星星 并查集解答
- bugku——分析(流量分析)题解
- wxWidgets:滚动Scrolling
- 什么时候考虑使用神经网络
- 仿苹果涂鸦软件_有没有仿ios12备忘录便签软件?
- 传统企业该如何拥抱AI?德勤说野心别太大,分四步实施
- android控件的touch事件_聊聊Android嵌套滑动
- active mq topic消费后删除_RabbitMQ重复消费,顺序消费,消息丢失如何解决
- 给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度
- 解决 U盘安装Windows Server 2012 R2 报错
- GANs(生成对抗网络)简介与案例
- 新零售电商:订单管理系统设计
- 动手深度学习PyTorch(三)模型选择、欠拟合和过拟合
- 统计学简介之十七——双因素方差分析
- mybatis一级缓存,二级缓存的开启、关闭、清除及使用说明
- java时区时间ZoneOffset, ZoneId,OffsetTime,OffsetDateTime,ZonedDateTime
- 实现阿里云物联网平台设备信息到微信小程序分享过程
- miui编译第三方卡米 对应的修改步骤位置