NSBundle的使用细节

在读取本地文件时,我们一般都会直接考虑到NSBundle,因为它是指当前目录,而通常我们有时也会考虑到NSSearchPathForDirectoriesInDomains来获取程序目录,从而达到读取某一指定文件。
1、使用NSBundle读取文件

//dataPath 表示当前目录下指定的一个文件 data.plist 
NSString *dataPath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]; 
NSString *dataPath = [[NSBundle mainBundle] pathForResource:@"Data.plist" ofType:nil];
// 如果plist文件中ROOT的类型是Array
NSArray *array = [NSArray arrayWithContentsOfFile:dataPath];
// 如果plist文件中ROOT的类型为Dictionary
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:dataPath]; 

2、直接使用NSSearchPathForDirectoriesInDomains读取文件

//filePath 表示程序目录下指定文件 
NSString *filePath = [self documentsPath:@"usefile.txt"]; 
- (NSString *)documentsPath:(NSString *)fileName
{
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDitectory, NSUserDomainMask, YES);
  NSString *documentsDirectory = [paths firstObjects];
  return [documentsDiretory stringByAppendingPathComponent:fileName];
}

注意点,在这里文件名可能在赋值的时候不知不觉就添加进了前后不必要的空格,因此在读取文件指定目录时,需要将它去空格:

// 去左右空格
stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
// 去掉所有不必要的空格
NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withString:@""];

我们在总结的时候,适当的可以使用以下方法来讨论或解决问题:
【问题分析】
1、使用NSString中stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]方法只是去掉左右两边的空格;
2、使用NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withString:@""];可以去掉空格,注意此时生成的strUrl是autorelease属性的,不要妄想对strUrl进行release操作。

【问题小结】
用stringByReplacingOccurrencesOfString方法去掉空格,实际上只是做了字符替换操作,除了空格还可以替换其它字符。目前该方法只使用了一次,还不能确定该方法的副作用。

// 在读文件时,看文件的根目录是什么类型的,然后用什么类型来接住它。

图1

就比如说图1,需要用到字典类型来接住它。
NSDictionary

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,665评论 9 468
  • 最近一朋友正准备跳槽,就从各处搜索整理一些基础,便于朋友复习,也便于自己复习查看. 1. 回答person的ret...
    smile丽语阅读 1,835评论 0 7
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,925评论 25 709
  • 父母吵架。 无数次。 最严重一次我妈妈差点断气,我爸去医院缝针,差点还是因为我被姨妈用刀架着。 妈妈一直很要强,脑...
    沈晨虞阅读 261评论 0 0
  • 自我知道读书是一件有趣的事情的时候,已经是大学三年级了。那时候也不懂读书的方法,只是胡乱读一些自己感兴趣的书,但是...
    子向往阅读 1,086评论 0 0