zoukankan      html  css  js  c++  java
  • iOS开发UI篇—常见的项目文件介绍

    iOS开发UI篇—常见的项目文件介绍

    一、项目文件结构示意图

     

    二、文件介绍

    1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件
    2.frameworks文件夹主要用来放依赖的框架
    3.test文件夹是用来做单元测试的
    4.常用的文件夹(项目名称文件夹)
    (1)XXXinfo.plist文件(在该项目中为  01-常见文件-Info.plist)
    1)简单说明
    是配置文件,该文件对工程做一些运行期的配置,非常重要,不能删除。
    在旧版本xcode创建的工程中,这个配置文件的名字就叫做info.plist。
    注意:因此在载入自己准备的plist文件的时候,不要以info命名。
     
    2)配置文件的属性介绍:
    bundle display name:
    应用程序显示名称。如果要修改桌面上显示的文件名称,只要修改此处就可以了。(需要先删除原始的程序,然后清空一下工程,因为程序有缓存)
    bundle identifer:
    唯一标识符(唯一的标识着一个应用程序,为了保证程序的唯一性,通常把域名倒过来写)
    Bundle versions string, short和bundle versions
     两个都用来表示应用程序的版本,前面的版本是正式的版本,后面的为内部版本,即公司内部开发的版本。要求提示:上传app的时候,后面更新的版本必须比之前的版本大。
    main storyboard file base name
    最主要的storyboard
     
    有两种方式修改plist配置文件:
    第一种方式即在如图所示的界面对配置信息进行修改。
    第二种方式直接点击工程,可以通过可视化界面进行设置。
      
    补充说明:
    a.应用程序支持的旋转方向。四个方向,垂直-不支持颠倒-左-右(最多只支持三个方向)
    b.plist文件打开之后是xml文件。和字典一样,是通过键值对的形式来保存数据。在xml文件中,添加了CF前缀
     
     (2)pch文件(在该项目中为  01-常见文件-Prefix.pch)
    1)简单说明
    保存的内容能够被项目中的其他所有原文件共享。
    通常情况下宏文件的处理,需要添加import导入头文件。以后可以把这个宏定义在这个文件中,不再需要导入头文件
     
    2)应用场景:
    1.用来定义一些全局的宏,
    2.用来导入一些全局都能用到的头文件。
    3.用来自定义NSlog,很消耗资源。(几乎是最消耗的),在发布的时候要把所有的打印都去掉。
    补充:在开发中,分为两个阶段。
    一是开发调试阶段,需要打印log调试程序,如果程序处于调试阶段,系统会为我们定义一个名称叫做DEBUG的宏。
    二是发布阶段:不需要打印log,因为log很占用资源,并且用户看不懂log,如果程序处理发布阶段,会去除这个宏。
    难道在发布的时候要一个一个把NSlog都注释掉?然后在开发第二版,第三版的时候,又要把所有注释掉的NSlog都打开?
    对于这个问题,在.pch文件中自定义NSlog就可以很好的解决。)
     
     3)自定义NSlog
    在做开发的时候可以先打开pch文件,看看公司中有没有自定义NSlog。
     1 // __OBJC__这个宏,在所有的.m和.mm文件中默认就定义了这个宏
     2 #ifdef __OBJC__
     3 // 如果这个全局的头文件或者宏只需要在.m或者.mm文件中使用,
     4 // 请把该头文件或宏写到#ifdef __OBJC__ 中
     5     #import <UIKit/UIKit.h>
     6     #import <Foundation/Foundation.h>
     7 
     8 #ifdef DEBUG
     9 #define NJLog(...) NSLog(__VA_ARGS__)
    10 #else
    11 #define NJLog(...)
    12 #endif
    13 
    14 #endif

    说明:…指接收可变参数

    补充:
    _OBJC_这个宏,在所有的.m和.mm文件中,都默认包含了这个宏,就默认会编译下面那两句
    条件编译语句,如果有这个宏,就编译下面的语句。

        #import <UIKit/UIKit.h>

        #import <Foundation/Foundation.h>

    如果这个全局的头文件或者宏,只需要在.m或.mm文件中使用,请把该文件或宏写到#ifdef_ODBC_中用。
    注意点:建议写在条件编译里面(注意#endif)
     
    infoplist.strings的文件,跟info.plist文件的本地化相关
  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/wendingding/p/3766249.html
Copyright © 2011-2022 走看看