Foundation框架- NSString用法
2015-11-07 02:08
302 查看
1、Foundation框架介绍
1)什么是框架?
二、 Foundation框架中一些常用的类
三、NSString和NSMutableString的使用与注意
注意:
OC字符串和C字符串的转化
![](http://img.blog.csdn.net/20151107015556916)
2、 NSString的常见方法:
3、
1)什么是框架?
框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合,以便使研发程序变得 更容易在OS X下的Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation 框架 Foundation框架允许使用一些基本对象,如数字和字符串,以及一些对象集合,如数组,字 典和集合,其他功能包括处理日期和时间、内存管理、处理文件系统、存储(或归档)对象、处 理几何数据结构(如点和长方形) Cocoa是Foundation和AppKit Cocoa Touch是Foundation和UIKitFoundation框架中大约有125个可用的头文件,作为一个简单的形式,可以简单地使用以下语 句导入 : import <Foundation/Foundation.h> 因为Foundation.h文件实际上导入其他所有 Foundation框架中的头文件。 2)Foundation框架的作用 Foundation框架是Mac\iOS中其他框架的基础 Foundation框架包含了很多开发中常用的数据类型: 结构体 枚举 类 3)如何使用Foundation框架 要想使用Foundation框架中的功能,包含它的主文件即可 #import <Foundation/Foundation.h> 4)不小心修改了系统的文件,引起的错误 有时候会在不经意之间修改了系统自带的头文件, 比如NSString.h, 这时会出现错误 ,我们只需要删除Xcode 的缓存就可以了 :/Users/用户名/Library/Developer/Xcode/DerivedData
二、 Foundation框架中一些常用的类
字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableArray:可变数组 2) NSSet: NSMutableSet: 3) NSDictiorary NSMutableDictiorary 其它: NSDate NSObject 补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的。
三、NSString和NSMutableString的使用与注意
1、NSString的创建方法 1)、最直接的方法 NSString *str = @"abc"; NSString *st3 = @"abc"; 2) 格式化的方式 NSString *st2 = [NSString stringWithFormat:@"%@", @"jack"]; 3) 从文件中读取 NSString *str5 = [NSString stringWithContentsOfFile:@"/Users/apple/Desktop/t.txt" encoding:NSUTF8StringEncoding error:&err]; 4) 从URL中读取 URL补充内容 Url:资源路径 格式:协议头:/路径 网络路径协议头:http 本地文件以file为协议头 ftp为协议头,说明资源是ftp服务器上的。 传入完整的字符串创建 NSURL *url = [NSURL URLWithString:@"file:///Users/apple/Desktop/str.txt"]; 通过文件路径创建(默认就是file协议的) NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/str.txt"];
注意:
常见的URL协议头(URL类型) http\https :超文本传输协议资源, 网络资源 在URL前加https://前缀表明是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更 加安全。 Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http 的连接很简单,是无状态的 https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全 ftp :文件传输协议
OC字符串和C字符串的转化
2、 NSString的常见方法:
- (NSString *)uppercaseString; 全部字符转为大写字母 - (NSString *)lowercaseString 全部字符转为小写字母 - (NSString *)capitalizedString 首字母变大写,其他字母都变小写。如果一个句子中有多个单词,那么会将每个单词的首字母 变成大写,其余字母变成小写 - (BOOL)isEqualToString:(NSString *)aString; 两个字符串的内容相同就返回YES, 否则返回NO 注意: == 比较的是两个对象的地址是否相同, 不是字符串内容 - (NSComparisonResult)compare:(NSString *)string; 这个方法可以用来比较两个字符串内容的大小 比较方法: 逐个字符地进行比较ASCII值,返回NSComparisonResult作为比较结果 NSComparisonResult是一个枚举,有3个值: 如果左侧 > 右侧,返回NSOrderedDescending, 如果左侧 < 右侧,返回NSOrderedAscending, 如果左侧 == 右侧返回NSOrderedSame - (NSComparisonResult) caseInsensitiveCompare:(NSString *)string; 忽略大小写进行比较,返回值与compare:一致 - (BOOL)hasPrefix:(NSString *)aString; 是否以aString开头
- (BOOL)hasSuffix:(NSString *)aString; 是否以aString结尾 - (NSRange)rangeOfString:(NSString *)aString; 用来检查字符串内容中是否包含了aString 如果包含, 就返回aString的范围 如果不包含, NSRange的location为NSNotFound, length为0 反方向搜索:[str rangeOfString: @”str” options: NSBackwardsSearch]; // 从后向前 搜索 - (NSString *)substringFromIndex:(NSUInteger)from; 从指定位置from开始(包括指定位置的字符)到尾部 - (NSString *)substringToIndex:(NSUInteger)to; 从字符串的开头一直截取到指定的位置to,但不包括该位置的字符 - (NSString *)substringWithRange:(NSRange)range; 按照所给出的NSRange从字符串中截取子串 - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement; 用replacement替换target - (NSUInteger)length; 返回字符串的长度(有多少个字符,无论中文字符、英文字符等等,一个字符就是一个字符) - (unichar)characterAtIndex:(NSUInteger)index; 返回index位置对应的字符 字符串转为基本数据类型 - (double)doubleValue; - (float)floatValue; - (int)intValue; - (char *)UTF8String; // 在操作SQLite数据库时才会用到 转为C语言中的字符串。 以后可能会用到别人的框架,都是纯C语言的,所以可能会用到把OC字符串转换为C语言的字符串。 去除所有的空格 [str stringByReplacingOccurrencesOfString:@" " withString:@""] 去除首尾的空格 [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
3、
相关文章推荐
- oc必须知道的知识点
- Mysql学习笔记
- jenkins构建war失败 代码编译出现(illegal character: \65279)
- MySQL5.1 忘记root密码的解决方法
- 雅虎十四条:网站前端网页优化的14条原则
- 基因芯片和NGS的关系
- 微软远程桌面(安卓版)连接出现0x204错误的解决办法
- linux 系统调用sysconf函数使用
- poj 1222 高斯消元(改改模板)
- 黑马程序员——类加载器——委托机制、自定义类加载器
- Ubuntu安装Anaconda3
- 夺命雷公狗ThinkPHP项目之----商城7后台登录控制以及注销
- 面向对象
- 大数模板
- Android使用.9图片失效的问题
- 集成支付宝、
- 10004---JavaWEB基础--HTTP,POST,GET
- mac 下svn 代码迁移到git
- Week2-5Spelling similarity:edit distance
- poj 1830 高斯消元