20-NSString-foundation
栈空间 str—>(ffc2ffc3) (NSString结构体类型指针存堆中地址) |
(ffc2 ffc3)两个字节 | 4 |
(ffc3 ffc4) | 5 |
(ffc5 ffc6) | 6 |
(ffc7 ffc8) | nil |
NSString的创建
NSString*string= @"This is a String!";
[[NSString alloc]initWithString:@"This is a String!"];
//或者[[NSString alloc]initWithFormat:@"My age is %i", 17];
char*cString = "这是一串中文";
[[NSString alloc]initWithCString:cStringencoding:NSUTF8StringEncoding];
或者[[NSString alloc]initWithUTF8String:cString];
//字符串编码可以在NSString.h中查阅
NSError*error = nil;//用来记录错误信息
NSString*path =@"/Users/apple/Desktop/test.txt";//文件路径
NSString *string = [[NSString alloc]initWithContentsOfFile:pathencoding:NSUTF8StringEncodingerror:&error];
if(error){//文件读取失败
//得到"通俗易懂"的错误信息
NSString*desc = [errorlocalizedDescription];
NSLog(@"\n文件读取失败,错误信息如下:\n%@", desc);
}else{//文件读取成功
NSLog(@"\n文件读取成功,内容如下:\n%@", string);
}
//将中文字符编码转为NSStringEncoding格式的编码
// NSStringEncodingenc =CFStringConvertEncodingToNSStringEncoding(
kCFStringEncodingGB_18030_2000);
NSError *error = nil;//用来记录错误信息
NSURL *url = [NSURLURLWithString:@"http://www.baidu.com"];
NSString*string = [[NSString alloc]initWithContentsOfURL:url
encoding:NSUTF8StringEncodingerror:nil];
if(error) {//读取失败
//得到"通俗易懂"的错误信息
NSString *desc = [errorlocalizedDescription];
NSLog(@“\n读取失败,错误信息如下:\n%@", desc);
} else{//读取成功
NSLog(@“\n读取成功,内容如下:\n%@", string);
}
还有一些静态方法(都是autorelease的)
[NSStringstringWithContentsOfFile:pathencoding:NSUTF8StringEncodingerror:nil];
NSString*string = [NSStringstringWithContentsOfURL:urlencoding:NSUTF8StringEncodingerror:nil];
NSString的导出
NSString*string = @"我是字符串";
NSString*path= @"/Users/apple/Desktop/abc.txt";
[stringwriteToFile:pathatomically:YESencoding:NSUTF8StringEncodingerror:nil];
或者
NSString*urlPath= @"file:///Users/apple/Desktop/abc.txt";
NSURL *url= [NSURLURLWithString:urlPath];
[stringwriteToURL:urlatomically:YESencoding:NSUTF8StringEncodingerror:nil];
全部转为大写字母
全部转为小写字母
首字母变大写,其他字母都变小写
NSString的比较
比较两个字符串的内容是否相同,相同就返回YES,不同则返回NO
逐个字符地进行比较,返回NSComparisonResult来显示比较结果.
NSComparisonResult是一个枚举,有3个值:
NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending
如果左侧大于右侧,返回NSOrderedDescending,
如果左侧小于右侧,返回NSOrderedAscending,
否则返回NSOrderedSame
忽略大小写进行比较,返回值与compare:一致
NSString搜索字符串
是否以aString开头
是否以aString结尾
检查是否包含了aString,如果包含,就返回aString的位置,如果不包含,NSRange的location为-1,length为0
可以传递一个mask参数,改变搜索方式
比如NSStringCompareOptions为NSBackwardsSearch表示从尾部开始搜索
还可以用searchRange指定搜索范围
NSString 的截取
从指定位置from开始(包括指定位置的字符)到尾部
从字符串的开头一直截取到指定的位置to,但不包括该位置的字符
按照所给出的NSRange从字符串中截取子串
用separator为分隔符截取子串,返回一个装着所有子串的集合NSArray
NSString与路径
将components中的字符串按顺序拼成一个路径
将一个路径分解成一个装着每一个目录的NSArray
是否为绝对路径
获得最后一个目录
删除最后一个目录
在路径的后面拼接一个目录
NSString与拓展名
获得拓展名
删除尾部的拓展名
在尾部添加一个拓展名
NSString的其他用法
返回字符串的长度(字符个数)
返回index位置对应的字符
转为C语言中的字符串
===================================
NSMutableString
capacity只是一个最优值,字符串的大小并不仅限于所提供的容量,设置了capacity,可以预分配一块内存来存储它,操作速度会快很多
初始化完毕后可以使用此方法设置字符串的内容
这两个方法都是在尾部拼接一段字符串
将range位置的字符串替换为aString
在loc这个位置插入aString(aString的起始位置是就loc)
删除range这个范围的字符串(经常跟rangeOfString:一起使用删除特定的字符串)
首先理解内存空间分配 NSString * str =@“456"
栈空间 str—>(ffc2ffc3) (NSString结构体类型指针存堆中地址) |
(ffc2 ffc3)两个字节 | 4 |
(ffc3 ffc4) | 5 |
(ffc5 ffc6) | 6 |
(ffc7 ffc8) | nil |
NSString的创建
NSString*string= @"This is a String!";
[[NSString alloc]initWithString:@"This is a String!"];
//或者[[NSString alloc]initWithFormat:@"My age is %i", 17];
char*cString = "这是一串中文";
[[NSString alloc]initWithCString:cStringencoding:NSUTF8StringEncoding];
或者[[NSString alloc]initWithUTF8String:cString];
//字符串编码可以在NSString.h中查阅
NSError*error = nil;//用来记录错误信息
NSString*path =@"/Users/apple/Desktop/test.txt";//文件路径
NSString *string = [[NSString alloc]initWithContentsOfFile:pathencoding:NSUTF8StringEncodingerror:&error];
if(error){//文件读取失败
//得到"通俗易懂"的错误信息
NSString*desc = [errorlocalizedDescription];
NSLog(@"\n文件读取失败,错误信息如下:\n%@", desc);
}else{//文件读取成功
NSLog(@"\n文件读取成功,内容如下:\n%@", string);
}
//将中文字符编码转为NSStringEncoding格式的编码
// NSStringEncodingenc =CFStringConvertEncodingToNSStringEncoding(
kCFStringEncodingGB_18030_2000);
NSError *error = nil;//用来记录错误信息
NSURL *url = [NSURLURLWithString:@"http://www.baidu.com"];
NSString*string = [[NSString alloc]initWithContentsOfURL:url
encoding:NSUTF8StringEncodingerror:nil];
if(error) {//读取失败
//得到"通俗易懂"的错误信息
NSString *desc = [errorlocalizedDescription];
NSLog(@“\n读取失败,错误信息如下:\n%@", desc);
} else{//读取成功
NSLog(@“\n读取成功,内容如下:\n%@", string);
}
还有一些静态方法(都是autorelease的)
[NSStringstringWithContentsOfFile:pathencoding:NSUTF8StringEncodingerror:nil];
NSString*string = [NSStringstringWithContentsOfURL:urlencoding:NSUTF8StringEncodingerror:nil];
NSString的导出
NSString*string = @"我是字符串";
NSString*path= @"/Users/apple/Desktop/abc.txt";
[stringwriteToFile:pathatomically:YESencoding:NSUTF8StringEncodingerror:nil];
或者
NSString*urlPath= @"file:///Users/apple/Desktop/abc.txt";
NSURL *url= [NSURLURLWithString:urlPath];
[stringwriteToURL:urlatomically:YESencoding:NSUTF8StringEncodingerror:nil];
全部转为大写字母
全部转为小写字母
首字母变大写,其他字母都变小写
NSString的比较
比较两个字符串的内容是否相同,相同就返回YES,不同则返回NO
逐个字符地进行比较,返回NSComparisonResult来显示比较结果.
NSComparisonResult是一个枚举,有3个值:
NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending
如果左侧大于右侧,返回NSOrderedDescending,
如果左侧小于右侧,返回NSOrderedAscending,
否则返回NSOrderedSame
忽略大小写进行比较,返回值与compare:一致
NSString搜索字符串
是否以aString开头
是否以aString结尾
检查是否包含了aString,如果包含,就返回aString的位置,如果不包含,NSRange的location为-1,length为0
可以传递一个mask参数,改变搜索方式
比如NSStringCompareOptions为NSBackwardsSearch表示从尾部开始搜索
还可以用searchRange指定搜索范围
NSString 的截取
从指定位置from开始(包括指定位置的字符)到尾部
从字符串的开头一直截取到指定的位置to,但不包括该位置的字符
按照所给出的NSRange从字符串中截取子串
用separator为分隔符截取子串,返回一个装着所有子串的集合NSArray
NSString与路径
将components中的字符串按顺序拼成一个路径
将一个路径分解成一个装着每一个目录的NSArray
是否为绝对路径
获得最后一个目录
删除最后一个目录
在路径的后面拼接一个目录
NSString与拓展名
获得拓展名
删除尾部的拓展名
在尾部添加一个拓展名
NSString的其他用法
返回字符串的长度(字符个数)
返回index位置对应的字符
转为C语言中的字符串
===================================
NSMutableString
capacity只是一个最优值,字符串的大小并不仅限于所提供的容量,设置了capacity,可以预分配一块内存来存储它,操作速度会快很多
初始化完毕后可以使用此方法设置字符串的内容
这两个方法都是在尾部拼接一段字符串
将range位置的字符串替换为aString
在loc这个位置插入aString(aString的起始位置是就loc)
删除range这个范围的字符串(经常跟rangeOfString:一起使用删除特定的字符串)
20-NSString-foundation相关推荐
- IOS学习---OC基础学习(Foundation)
Foundation框架: 包含许多常见的数据类型 是其他所有Ios框架的基础结构体: NSRange: 范围:成员变量有location(位置).length(长度) @"i love o ...
- 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 三 NSArray
2019独角兽企业重金招聘Python工程师标准>>> 1 int main(int argc, const char * argv[]) { 2 @autoreleasepool ...
- iOS中几种数据持久化方案总结
概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案: plist文件(属性列表) ...
- iOS开发UI篇—UITableview控件基本使用
iOS开发UI篇-UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) 1 #import <Foundation/Foundation.h&g ...
- OC中给我们提供的一个技术:谓词(NSPredicate).note
OC中给我们提供的一个技术:谓词(NSPredicate) OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起 ...
- 计算沙盒下文件夹内容大小 清空沙盒 文件 目录
1 +(float)fileSizeForDir:(NSString*)path//计算文件夹下文件的总大小 2 3 { 4 5 NSFileManager *fileManager = [[NSFi ...
- 开源中国iOS客户端学习
开源中国iOS客户端学习 续写前言 <开源中国iOS客户端学习>续写前系列博客 http://blog.csdn.net/column/details/xfzl-kykhd.html ...
- iOS身份证的正则验证
在ios项目的开发中可能很多地方都需要用到身份证校验,一般在开发的时候很多人都是直接百度去网上荡相关的正则表达式和校验代码,但是网上疯狂粘贴复制的校验代码本身也可能并不准确,可能会有风险,比如2013 ...
- AFNetworking官网文档及翻译
AFNetworking2.4.1解析 1.官网文档外加点中文注释 AFNetworking官网(点击进入) AFNetworking翻译注释 Architecture(结构) NSURLConnec ...
- 黑马程序员16——OC之Fundation(NSNumber)
#import <Foundation/Foundation.h> int main() { // @20 将 20包装成一个NSNumber对像 N ...
最新文章
- oracle12c无法访问em精简版,Oracle12C的EM无法访问怎么办?
- Windows Azure Storage (10) Windows Azure 上的托管服务CDN (下) Hosted Service
- 微服务组件记事本:本地搭建Skywalking
- docker – 你应该知道的10件事
- 数据挖掘—Apriori算法(Java实现)
- 【华为云实战开发】12.如何在云端快速开展Swagger接口测试
- newInstance() 和 new 有什么区别
- C语言题目:输入角度a,输出a的正弦值(sin a)
- 清华大学c语言程序设计课件,c语言清华大学课件
- C# 把word转换成txt
- 台式计算机硬盘的安装位置,台式电脑硬盘怎么安装_台式电脑硬盘安装方法-win7之家...
- 自定义实现微信通讯录效果View
- 数据中心架构,如何节省运营成本,机房冷却方面减少压力?
- 2023年推荐几款开源或免费的web应用防火墙
- 3D打印技术之切片引擎(7)
- 新加坡环球影城:新加坡亲子游一日游好去处
- 首师大附中科创教育平台 我的刷题记录 0313 50111117海岛帝国:诞辰之日
- SRT字幕的颜色以及一些特效的设置
- MATLAB--数字图像处理 车牌识别之简易识别程序
- 共路信令(CCS),随路信令(CAS)简介