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

一、项目文件结构示意图

二、文件介绍

1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件

2.frameworks文件夹主要用来放依赖的框架

3.test文件夹是用来做单元测试的

4.常用的文件夹(项目名称文件夹)

(1)XXXinfo.plist文件(在该项目中为 01-常见文件-Info.plist)

1)简单说明

是配置文件,该文件对工程做一些运行期的配置,非常重要,不能删除。

在旧版本xcode创建的工程中,这个配置文件的名字就叫做info.plist。

注意:因此在载入自己准备的plist文件的时候,不要以info命名。

2)配置文件的属性介绍:

bundledisplay name:

应用程序显示名称。如果要修改桌面上显示的文件名称,只要修改此处就可以了。(需要先删除原始的程序,然后清空一下工程,因为程序有缓存)

bundleidentifer:

唯一标识符(唯一的标识着一个应用程序,为了保证程序的唯一性,通常把域名倒过来写)

Bundle versions string, short和bundleversions

两个都用来表示应用程序的版本,前面的版本是正式的版本,后面的为内部版本,即公司内部开发的版本。要求提示:上传app的时候,后面更新的版本必须比之前的版本大。

mainstoryboard 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 #import <Availability.h>
 2
 3
 4
 5 #ifndef __IPHONE_5_0
 6
 7 #warning "This project usesfeatures only available in iOS SDK 5.0 and later."
 8
 9 #endif
10
11
12
13
14
15 /************__OBJC__BEGIN************/
16
17 // 里面的所有内容只能用到.m文件中或者.mm
18
19 #ifdef __OBJC__
20
21 #import <UIKit/UIKit.h>
22
23 #import <Foundation/Foundation.h>
24
25 #import "TXPerson.h"
26
27
28
29 #ifdef DEBUG  // 调试阶段
30
31 #define TXLog(...)NSLog(__VA_ARGS__)
32
33 #else // 发布阶段
34
35 #define TXLog(...)
36
37 #endif
38
39
40
41 #define ABC 10
42
43
44
45 #endif
46
47 /************__OBJC__END************/
48
49
50
51 /**
52
53  *  外面的所有东西,整个项目共享
54
55  */
56
57 #define Name 10
58
59
60
61 /**
62
63  pch文件的作用:
64
65  1.存放一些全局的宏(整个项目中都用得上的宏)
66
67  2.用来包含一些全部的头文件(整个项目中都用得上的头文件)
68
69  3.能自动打开或者关闭日志输出功能
70
71  */
72
73
74
75 说明:…指接收可变参数
76
77 补充:
78
79 _OBJC_这个宏,在所有的.m和.mm文件中,都默认包含了这个宏,就默认会编译下面那两句
80
81 条件编译语句,如果有这个宏,就编译下面的语句。
82
83     #import <UIKit/UIKit.h>
84
85     #import <Foundation/Foundation.h>
86
87 如果这个全局的头文件或者宏,只需要在.m或.mm文件中使用,请把该文件或宏写到#ifdef_ODBC_中用。
88
89 注意点:建议写在条件编译里面(注意#endif)
90
91
92
93 infoplist.strings的文件,跟info.plist文件的本地化相关

转载于:https://www.cnblogs.com/asd5551680/p/4069686.html

iOS开发UI篇—常见的项目文件介绍相关推荐

  1. iOS开发UI篇—UIScrollView控件介绍

    iOS开发UI篇-UIScrollView控件介绍 一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限 ...

  2. iOS开发UI篇—多控制器和导航控制器简单介绍

    iOS开发UI篇-多控制器和导航控制器简单介绍 一.多控制器 一个iOS的app很少只由一个控制器组成,除非这个app极其简单.当app中有多个控制器的时候,我们就需要对这些控制器进行管理 有多个vi ...

  3. iOS开发UI篇—UIWindow简单介绍

    iOS开发UI篇-UIWindow简单介绍 一.简单介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow iOS程序启动完毕后,创建的第一个视图控件就是UIWi ...

  4. iOS开发UI篇—简单介绍静态单元格的使用

    iOS开发UI篇-简单介绍静态单元格的使用 一.实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变. 要完成上面的效果, ...

  5. iOS开发UI篇—UITabBarController简单介绍

    iOS开发UI篇-UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...

  6. iOS开发UI篇—Date Picker和UITool Bar控件简单介绍

    iOS开发UI篇-Date Picker和UITool Bar控件简单介绍 一.Date Picker控件 1.简单介绍: Date Picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何 ...

  7. iOS开发UI篇—Modal简单介绍

    iOS开发UI篇-Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...

  8. iOS开发UI篇—实现一个私人通讯录小应用(一)

    iOS开发UI篇-实现一个私人通讯录小应用(一) 一.该部分主要完成内容 1.界面搭建                        2.功能说明 (1).只有当账号和密码输入框都有值的时候,登录按钮 ...

  9. iOS开发UI篇—UITableviewcell的性能优化和缓存机制

    iOS开发UI篇-UITableviewcell的性能问题 一.UITableviewcell的一些介绍 UITableView的每一行都是一个UITableViewCell,通过dataSource ...

最新文章

  1. POJ1022 Packing Unit 4D Cubes
  2. (转载)虚幻引擎3--9掌握虚幻技术UnrealScript 预处理器
  3. C#对象数组排序方法
  4. 基于MNIST的GANs实现【Pytorch】
  5. svmtrain和svmpredict简介(转)
  6. Tomcat部署的三种方式
  7. DCMTK:图像服务器中央测试节点(ctn)主程序
  8. [机器学习]正则化方法 -- Regularization
  9. .NET遗留应用改造——性能优化篇
  10. struts国际化java_java框架篇---Struts2 本地化/国际化(i18n)
  11. python 三目运算符
  12. python 爬虫(一) requests+BeautifulSoup 爬取简单网页代码示例
  13. mysql有没有mssql执行计划_MSSQL优化执行计划
  14. 虚拟机克隆后没有IP
  15. MTK平台各种分区和bin/img(线刷包)对应关系和作用说明
  16. iOS小技能: 自定义相机(基础知识储备)
  17. 计算机在平面设计中的作用,计算机在平面设计中应用2篇.docx
  18. 详解ArcGIS Server瓦片合并
  19. word保存html格式批注没有了,word批注不见了 怎么显示批注
  20. Claymore挖矿软件参数说明

热门文章

  1. 直接获取Program Files目录的API
  2. GOF23种设计模式在Java中的应用(part 3)
  3. 论文密级_2019年毕业研究生论文提交的通知
  4. 华为鸿蒙原生app,华为鸿蒙开发者大赛颁奖典礼临近,鸿蒙原生应用来了
  5. JavaWeb——springMVC、mybatis与spring的整合
  6. ArcGIS水文分析实战教程(18) 河段桩号与线性参考
  7. 用 Go 语言给 Lua/OpenResty 写扩展
  8. 淘宝开放平台SDK对接
  9. springboot 物联网_【阿里云生活物联网架构师专题】基于在 SpringBoot Java私有云上对接阿里云物联网,实现M2M设备数据流转。...
  10. Collection 属性ArrayList.add方法内部调用过程