




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Foundation框架什么是框架众多功能API的集合Foundation框架的作用Foundation框架是MaciOS中其他框架的基础Foundation框架包含了很多开发中常用的数据类型:结构体枚举类如何使用Foundation框架要想使用Foundation框架中的功能,包含它的主文件即可#import Foundation框架中的类Foundation框架提供了非常多好用的类, 比如NSString : 字符串NSArray : 数组NSDictionary : 字典NSDate : 日期NSData : 数据NSNumber : 数字Foundation框架中的类都是以NS为前缀(
2、Next Step的缩写)乔布斯于1976年创立苹果公司乔布斯于1985年离开苹果公司, 创立NeXT公司, 开发了Next Step操作系统在开发Next Step操作系统过程中产生了Foundation框架1997年, 苹果公司收购NeXT公司, 乔布斯重返苹果公司(Mac系统就是基于Next Step系统)2007年, 苹果公司发布了iOS系统(iOS系统基于Mac系统)不小心修改了系统文件有时候会在不经意之间修改了系统自带的头文件, 比如NSString.h, 这时会出现以下错误:解决方案很简单, 只需要删除Xcode的缓存即可, 缓存路径是/Users/用户名/Library/Dev
3、eloper/Xcode/DerivedData(默认情况下, 这是一个隐藏文件夹)要想看到上述文件夹, 必须在终端敲指令显示隐藏文件夹, 指令如下显示隐藏文件 : defaults write com.apple.finder AppleShowAllFiles bool true隐藏隐藏文件 : defaults write com.apple.finder AppleShowAllFiles bool false(输入指令后, 一定要重新启动Finder)NSString什么是NSString一个NSString对象就代表一个字符串(文字内容)一般称NSString为字符串类右图中的文字
4、内容普遍都是用NSString来表示的NSString的创建NSString的创建方式比较多最直接的方式(这是常量字符串)NSString *str = Im in 520it.;格式化的方式NSString *str = NSString stringWithFormat:My age is %d, 10;NSString *str = NSString alloc initWithFormat:My age is %d, 10;从文件中读取从URL中读取NSString的创建从文件中读取/ 用来保存错误信息NSError *error = nil;/ 读取文件内容NSString *str
5、 = NSString stringWithContentsOfFile:/Users/mj/Desktop/test.txt encoding:NSUTF8StringEncoding error:&error;/ 如果有错误信息if (error) NSLog(读取失败, 错误原因是:%, error localizedDescription); else / 如果没有错误信息 NSLog(读取成功, 文件内容是:n%, str);NSString的创建从URL中读取/ 用来保存错误信息NSError *error = nil;/ 创建URL路径NSURL *url = NSURL URL
6、WithString:file:/Users/mj/Desktop/test.txt;/ 读取文件内容NSString *str = NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error;/ 如果有错误信息if (error) NSLog(读取失败, 错误原因是:%, error localizedDescription); else / 如果没有错误信息 NSLog(读取成功, 文件内容是:n%, str);URL什么是URLURL的全称是Uniform Resource Locator
7、(统一资源定位符)URL是互联网上标准资源的地址互联网上的每个资源都有一个唯一的URL,它包含的信息指出资源的位置根据一个URL就能找到唯一的一个资源URL的格式基本URL包含协议、主机域名(服务器名称IP地址)、路径举例: 可以简单认为: URL = 协议头:/主机域名/路径常见的URL协议头(URL类型)httphttps :超文本传输协议资源, 网络资源ftp :文件传输协议file :本地电脑的文件URL的创建传入完整的字符串创建NSURL *url = NSURL URLWithString:file:/Users/mj/Desktop/str.txt;通过文件路径创建(默认就是fi
8、le协议的)NSURL *url = NSURL fileURLWithPath:/Users/mj/Desktop/str.txt;NSString的存储可以将NSString存储到一个文件中NSString *str = 哇哈哈哈;str writeToFile:/Users/mj/Desktop/str.txt atomically:YES encoding:NSUTF8StringEncoding error:nil;str writeToURL:NSURL URLWithString:/Users/mj/Desktop/str.txt atomically:YES encoding:
9、NSUTF8StringEncoding error:nil;NSString的大小写处理- (NSString *)uppercaseString;全部字符转为大写字母- (NSString *)lowercaseString全部字符转为小写字母- (NSString *)capitalizedString首字母变大写,其他字母都变小写NSString的比较- (BOOL)isEqualToString:(NSString *)aString;两个字符串的内容相同就返回YES, 否则返回NO- ( parisonResult)compare:(NSString *)string;这个方法可以
10、用来比较两个字符串内容的大小比较方法: 逐个字符地进行比较ASCII值,返回 parisonResult作为比较结果 parisonResult是一个枚举,有3个值:如果左侧 右侧,返回NSOrderedDescending,如果左侧 右侧,返回NSOrderedAscending,如果左侧 = 右侧返回NSOrderedSame- ( parisonResult) pare:(NSString *)string;忽略大小写进行比较,返回值与compare:一致NSString的搜索- (BOOL)hasPrefix:(NSString *)aString;是否以aString开头- (BOO
11、L)hasSuffix:(NSString *)aString;是否以aString结尾- (NSRange)rangeOfString:(NSString *)aString;用来检查字符串内容中是否包含了aString如果包含, 就返回aString的范围如果不包含, NSRange的location为NSNotFound, length为0NSRangeNSRange是Foundation框架中比较常用的结构体, 它的定义如下:typedef struct _NSRange NSUInteger location; NSUInteger length; NSRange;/ NSUInte
12、ger的定义typedef unsigned int NSUInteger;NSRange用来表示事物的一个范围,通常是字符串里的字符范围或者数组里的元素范围NSRange有2个成员NSUInteger location : 表示该范围的起始位置NSUInteger length : 表示该范围内的长度比如“I love iOS”中的“iOS”可以用location为7,length为3的范围来表示NSString的截取和替换- (NSString *)substringFromIndex:(NSUInteger)from;从指定位置from开始(包括指定位置的字符)到尾部- (NSStrin
13、g *)substringToIndex:(NSUInteger)to;从字符串的开头一直截取到指定的位置to,但不包括该位置的字符- (NSString *)substringWithRange:(NSRange)range;按照所给出的NSRange从字符串中截取子串- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;用replacement替换targetNSString与路径- (BOOL)isAbsolutePath;是否为绝对
14、路径- (NSString *) ponent;获得最后一个目录- (NSString *) ponent;删除最后一个目录- (NSString *) ponent:(NSString *)str;在路径的后面拼接一个目录(也可以使用stringByAppendingString:或者stringByAppendingFormat:拼接字符串内容)NSString与文件拓展名- (NSString *)pathExtension;获得拓展名- (NSString *)stringByDeletingPathExtension;删除尾部的拓展名- (NSString *)stringByApp
15、endingPathExtension:(NSString *)str;在尾部添加一个拓展名NSString的其他用法- (NSUInteger)length;返回字符串的长度(字符个数)- (unichar)characterAtIndex:(NSUInteger)index返回index位置对应的字符转为基本数据类型- (double)doubleValue;- (float)floatValue- (int)intValue- (char *)UTF8String转为C语言中的字符串NSString去除空格去除所有的空格str stringByReplacingOccurrencesOf
16、String: withString:去除首尾的空格str stringByTrimmingCharactersInSet:NSCharacterSet whitespaceCharacterSet;NSMutableStringNSMutableString是NSString的子类NSMutableString和NSString的区别NSString是不可变的, 里面的文字内容是不能进行修改的NSMutableString是可变的, 里面的文字内容可以随时更改NSMutableString能使用NSString的所有方法NSMutableString的常用方法- (void)appendSt
17、ring:(NSString *)aString;拼接aString到最后面- (void)appendFormat:(NSString *)format, .;拼接一段格式化字符串到最后面- (void)deleteCharactersInRange:(NSRange)range;删除range范围内的字符串- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;在loc这个位置中插入aString- (void)replaceCharactersInRange:(NSRange)range withString:(N
18、SString *)aString;使用aString替换range范围内的字符串NSArray什么是NSArrayNSArray是OC中的数组类, 开发中建议尽量使用NSArray替代C语言中的数组C语言中数组的弊端int array4 = 10, 89, 27, 76;只能存放一种类型的数据不能很方便地动态添加数组元素不能很方便地动态删除数组元素NSArray的使用注意只能存放任意OC对象, 并且是有顺序的不能存储非OC对象, 比如intfloatdoublecharenumstruct等它是不可变的, 一旦初始化完毕后, 它里面的内容就永远是固定的, 不能删除里面的元素, 也不能再往里面
19、添加元素NSArray的创建NSArray常见的创建方式有+ (instancetype)array;+ (instancetype)arrayWithObject:(id)anObject;+ (instancetype)arrayWithObjects:(id)firstObj, .;+ (instancetype)arrayWithArray:(NSArray *)array;+ (id)arrayWithContentsOfFile:(NSString *)path;+ (id)arrayWithContentsOfURL:(NSURL *)url;可以将一个NSArray保存到文件中
20、- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;- (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;NSArray的检索- (NSUInteger)count;获取集合元素个数- (id)objectAtIndex:(NSUInteger)index; 获得index位置对象的元素- (BOOL)containsObject:(id)anObject; 是否包含某一个元素- (id)lastObject; 返回最后一个元素- (id)
21、firstObject; 返回最后一个元素NSArray的检索- (NSUInteger)indexOfObject:(id)anObject;查找anObject元素在数组中的位置- (NSUInteger)indexOfObject:(id)anObject inRange:(NSRange)range;在range范围内查找anObject元素在数组中的位置NSFileManager什么是NSFileManager顾名思义, NSFileManager是用来管理文件系统的它可以用来进行常见的文件文件夹操作NSFileManager使用了单例模式使用defaultManager方法可以获得
22、那个单例对象NSFileManager defaultManagerNSFileManager的常见判断- (BOOL)fileExistsAtPath:(NSString *)path;path这个文件文件夹是否存在- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory;path这个文件文件夹是否存在, isDirectory代表是否为文件夹- (BOOL)isReadableFileAtPath:(NSString *)path;path这个文件文件夹是否可读- (BOOL)isWritableFi
23、leAtPath:(NSString *)path;path这个文件文件夹是否可写- (BOOL)isDeletableFileAtPath:(NSString *)path;path这个文件文件夹是否可删除NSFileManager的文件访问- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError *)error;获得path这个文件文件夹的属性- (NSArray *)subpathsAtPath:(NSString *)path;- (NSArray *)subpathsOfDirectoryAtPath:(NSString *)path error:(NSError *)error;获得path的所有子路径- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError *)error;获得path的当前子路径- (NSData *)contentsAtPath:(NSStri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 用流程解放管理:章义伍的流程管理精髓
- 康复中心造口护理
- 砂质土施工方案
- 重庆公务员真题试卷2024
- 西藏公务员真题2024
- 2024年安阳市事业单位招聘考试真题
- 预应力混凝土空心板(SP墙板)企业制定与实施新质生产力战略研究报告
- 商业综合体行业直播电商战略研究报告
- 2025-2030中国小船比米尼上衣行业市场现状供需分析及投资评估规划分析研究报告
- 市政桥梁工程设计行业跨境出海战略研究报告
- 前列腺增生患者的护理查房课件
- 2023年四川农信(农商行)招聘笔试真题
- 呼兰河传(2022年黑龙江牡丹江中考语文试卷记叙文阅读题及答案)
- 危险化学品出入库管理制度
- 医学课件新生儿黄疸5
- 2025年呼和浩特市重点中学中考领航2020大二轮复习数学试题模拟含解析
- 水泥搅拌桩施工记录-自动计算
- 2022年全国职业院校技能大赛赛项-ZZ-2022024 工业产品设计与创客实践赛项题目-模块1
- 珠宝加工合伙人协议书正式
- 黑龙江省龙东地区2024年中考语文真题试卷【附真题答案】
- 2024年广东省南海区中考一模数学试题(解析版)
评论
0/150
提交评论