标签:
------- iOS培训、Android培训、Java培训、期待与您交流! ----------
【Foundation框架】
1、Foundation框架介绍
1)Foundation框架概念
框架是由许多类、方法、函数、文档按照一定的逻辑组织起来的集合
以便使研发程序变得 更容易在OS X下的Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation 框架
2)Foundation框架的作用
Foundation框架是Mac\iOS中其他框架的基础 Foundation框架包含了很多开发中常用的数据类型:
结构体
枚举
类
3)Foundation框架使用
要使用Foundation框架中的功能,包含它的主文件即可
#import <Foundation/Foundation.h>
4)修改会引起的错误
如果出现以下错误:
解决方案:删除Xcode的缓存, 缓存路径是 /Users/用户名/Library/Developer/Xcode/DerivedData
显示隐藏文件夹:
显示隐藏文件 : defaults write com.apple.finder AppleShowAllFiles –bool true
隐藏隐藏文件 : defaults write com.apple.finder AppleShowAllFiles –bool false
【NSString介绍】
1、NSString类概念
一个NSString对象就代表一个字符串
一般称NSString为字符串类
2、NSString的创建方式
1) 最直接的方式(这是常量字符串)
NSString *str = @"abc";
注意这种写法,字符串存储在内存的常量区
2) 格式化的方式
NSString *str = [NSString stringWithFormat:@"%@", @"Jone"];
注意这种写法,字符串存储在内存的堆区
3) 从文件中读取
1 //从文件中读取字符串显示到控制台上 2 NSString *str = [NSString stringWithContentsOfFile:@"/Users/apple/Desktop/t.txt" encoding:NSUTF8StringEncoding error:&err]; 3 //注意如果读取到内容了, if (err == nil) { 4 NSLog(@"读取成功的情况"); NSLog(@"%@",str); 5 }else { 6 NSLog(@"读取失败的情况"); 7 //可以打印err的信息 8 NSLog(@"%@",err); 9 //可以通过 [err localizedDescription]; 打印简单的错误信息 //NSLog(@"%@",[err localizedDescription]); 10 }
【NSURL读写字符串】
1、NSURL概念
URL的全称是Uniform Resource Locator(统一资源定位符) URL是互联网上标准资源的地址
互联网上的每个资源都有一个唯一的URL,它包含的信息指出资源的位置 根据一个URL就能找到唯一的一个资源
2、URL的格式
基本URL包含协议、主机域名(服务器名称\IP地址)、路径 协议 服务器的域名 路径
3、常见的URL协议头
http\https :超文本传输协议资源, 网络资源
在URL前加https://前缀表明是用SSL加密的。
你的电脑与服务器之间收发的信息传输将更 加安全。
Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http 的连接很简单,是无状态的
https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全
ftp :文件传输协议
4、使用NSURL读写字符串
传入完整的字符串创建
NSURL *url = [NSURL URLWithString:@"file:///Users/apple/Desktop/str.txt"]; 通过文件路径创建(默认就是file协议的)
NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/str.txt"];
【NSString字符串比较】
1、字符串比较函数
1)比较字符串大小
compare方法
compare 方法返回的结果有三种:
NSOrderedAscending,NSOrderedSame,NSOrderedDescending,
str > str2 NSOrderedDescending 1
str < str2 NSOrderedAscending -1
str == str2 NSOrderedSame 0
使用compare方法时可以添加参数来决定是否区分大小写,或者声明为比较字符串个数而不是字符值等比较条件
2)比较字符串大小,指定条件
如果要忽略大小写的话,可以在options 里面加一个参数NSCaseInsensitiveSearch
NSComparisonResult result2 =[str1 compare:str2 options:NSCaseInsensitiveSearch];
常见的有3个
NSCaseInsensitiveSearch:不区分大小写字符。
NSLiteralSearch:进行完全比较,区分大小写。(默认)
NSNumericSearch:比较字符串的字符个数,而不是字符值。
并可以使用"|"来同时满足多个条件。
3)判断字符串是否相等
-(BOOL) isEqualToString: (NSString *) aString;
比较接收方和当作参数传递来的字符串 返回BOOL(YES或NO)型数据
表示两个字符串的内容是否相同,注意区分大小写
#import <Foundation/Foundation.h> void test(){ NSString *str1 = @"abc"; // a 97 NSString *str2 = @"abc"; // A 65 //取出每个字符的ASCII码值 ,比较ASCII码值大小 //compare方法比较大小 //compare 默认的区分大小写的 //compare 这个函数,不能增加条件 // NSComparisonResult result = [str1 compare:str2]; //比较的时候,不区分大小写,参考字符的个数 NSComparisonResult result = [str1 compare:str2 options:NSCaseInsensitiveSearch|NSNumericSearch]; // switch (result) { case NSOrderedAscending: NSLog(@"str1 < str2 升序"); break; case NSOrderedDescending: NSLog(@"str1 > str2 降序"); break; case NSOrderedSame: NSLog(@"str1 == str2 "); break; default: break; } } int main(int argc, const char * argv[]) { @autoreleasepool { NSString *str1 = @"abc"; // a 97 NSString *str2 = @"abc"; // A 65 NSString *str3 = [NSString stringWithFormat:@"Abc"]; //地址的比较 // "==" 不能够判断字符串是否相等的 //判断字符串内容真正是否相等,使用是 //isEqualToString: //注意:他是区分大小写的 if ([str1 isEqualToString:str3]) { NSLog(@"相等"); }else{ NSLog(@"不相等"); } } return 0; }
【NSString前后缀检查及搜索】
1、NSString前后缀检查
1)判断字符串前缀 判断地址是否是网址
file://
ftp:// https:// http://
检查字符串是否以另一个字符串开头 -(BOOL) hasPrefix: (NSString *) aString;
2)判断字符串后缀 判断字符串是否以另一个字符串结尾
-(BOOL) hasSuffix: (NSString *) aString;
2、字符串查找
- (NSRange)rangeOfString:(NSString *)aString; 用来检查字符串内容中是否包含了aString
如果包含, 就返回aString在字符串中第一次出现的范围
反方向搜索:
// 从后向前搜索,遇到第一次出现的位置,则结束
[str rangeOfString: @"str" options: NSBackwardsSearch];
【NSRange使用】
1、NSRange的使用
NSRange是Foundation框架中比较常用的结构体
格式:
typedef struct _NSRange {
NSUInteger location;
NSUInteger length; } NSRange;
// NSUInteger的定义
typedef unsigned int NSInteger;
typedef unsigned long NSUInteger;
NSRange用来表示事物的一个范围,通常是字符串里的字符范围或者数组里的元素范围
NSRange有2个成员
NSUInteger location : 表示该范围的起始位置
NSUInteger length : 表示该范围内的长度
2、NSRange创建的几种方式
有4种方式创建一个NSRange变量
1)NSRange range;
range.location = 7;
range.length = 3;
2)NSRange range = {7, 3};
NSRange range = {.location = 7, .length = 3};
3 )使用NSMakeRange函数
NSRange range = NSMakeRange(7, 3);
4)最直接的方式
NSRange range = {5,8}; 查看Range的值,可以使用
NSLog(@"%@",NSStringFromRange(range));
黑马程序员---OC基础9【Foundation框架】【NSString介绍】【NSURL读写字符串】【NSString字符串比较】【NSString前后缀检查及搜索】【NSRange使用】
标签:
原文地址:http://www.cnblogs.com/snowimba/p/4862174.html