• 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行

  • 相关阅读:
    如何查看openssl支持的所有TLS/SSL版本
    讲故事,学(AHK)设计模式—观察者模式
    React Hooks 详解 【近 1W 字】+ 项目实战
    为什么要在函数组件中使用React.memo?
    js防抖函数
    JS 深度优先遍历与广度优先遍历 实现查找
    你不知道的 requestIdleCallback
    RE:ゼロから始める文化課生活
    开学考小记 & 新生活的开始
    JS中:数组和对象的区别,以及遍历数组和遍历对象的区别
  • 原文地址:https://www.cnblogs.com/Cristen/p/2848552.html
Copyright © 2020-2023  润新知