zoukankan      html  css  js  c++  java
  • NSBundle读取txt文件,图片,plist

    关于bundle作用在网上参考了两个博客,介绍如下:

    bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in). 对应bundle,cocoa提供了类NSBundle.

    我们的程序是一个bundle. 在Finder中,一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录. 我们把这个目录叫做程序的main bundle

    bundle中的有些资源可以本地化.例如,对于foo.nib,我们可以有两个版本: 一个针对英语用户,一个针对法语用户.  在bundle中就会有两个子目录:English.lproj和French.lproj,我们把各自版本的foo.nib文件放到其中. 当程序需要加载foo.nib文件时,bundle会自动根据所设置的语言来加载.

    NSBundle束,是一种特定的文件类型,其中的内容遵循特定的结构。

    NSBundle的一个主要作用是 获取Resources文件夹中的资源。

    NSBundle 对象代表了文件系统中的一个位置,这个位置存放的是我们程序的代码和资源。NSBundel 对象同时本地化程序资源,动态加载和卸载可执行代码,及本地化支持。有三种束,分别是面向应用程的、面向框架的和面向插件的;

    1. //    定义一个NSBundle对象获取得到应用程序的main bundle  
    2.     NSBundle *mainBundle = [NSBundle mainBundle];  
    3. //    用对象mainBundle获取图片路径  
    4.     NSString *imagePath = [mainBundle pathForResource:@"test" ofType:@"png"];  
    5.     UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagePath]; 

    2..mainBundle读取txt文件,然后把它显示在lable上,当然在此之前需要添加一个有内容txt文件;读取txt文件和上两个例子一样,再次想说一下如何显示在label上,如果txt中内容太多需要换行的操作;

    1. //    获取txt文件路径  
    2.     NSString *txtPath = [mainBundle pathForResource:@"test" ofType:@"txt"];  
    3. //    将txt到string对象中,编码类型为NSUTF8StringEncoding  
    4.     NSString *string = [[NSString  alloc] initWithContentsOfFile:txtPath encoding:NSUTF8StringEncoding error:nil];  
    5.     NSLog(@"%@",string);  
    6.    CGRect labelframe = CGRectMake(10, 10, 300, 440);      
    7.     UILabel *label = [[UILabel alloc] initWithFrame:labelframe];  
    8. //    将sring内容赋给lable的text属性  
    9.     label.text=string;  
    10.     label.textAlignment = UITextAlignmentLeft;  
    11. //    自动换行设置  
    12.     label.lineBreakMode = UILineBreakModeCharacterWrap;  
    13. //等于0表示可根据具实际情况自动变动     
    14.     label.numberOfLines = 0;  
    15.   
    16.     [self.view addSubview:label];  
    17.      
    18. }  

    label.numberOfLines =0;可以自动适应显示,如果等于1显示一行,对于10显示10行

  • 相关阅读:
    测试用例设计之正交实验法
    Jmeter 添加性能监控器
    jmeter常用的性能测试监听器
    常用的性能测试策略
    nmon定位性能问题之数据库问题定位
    性能测试基础知识
    Electorn(桌面应用)自动化测试之Java+selenium实战例子
    Mybatis查询为空,但是数据库中有结果集!
    Spring中使用Mybatis逆向工程(IDEA版)
    Spring配置Quartz的三种方式
  • 原文地址:https://www.cnblogs.com/Cristen/p/2848552.html
Copyright © 2011-2022 走看看