iOS开发UI篇章 15-项目中的常见文件
iOS开发UI篇—常见的项目文件介绍
一、项目文件结构示意图
二、文件介绍
1.products目录:主要用于mac电脑开发的可运行文件。ios开发用不到这个文件
2.frameworks目录主要用来放依赖的框架
3.test目录是用来做单元測试的
4.经常使用的目录(项目名称目录)
(1)XXXinfo.plist文件(在该项目中为 01-常见文件-Info.plist)
1)简单说明
是配置文件。该文件对project做一些执行期的配置,很重要。不能删除。
在旧版本号xcode创建的project中,这个配置文件的名字就叫做info.plist。
注意:因此在加载自己准备的plist文件的时候,不要以info命名。
2)配置文件的属性介绍:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDkyNzMxMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
bundledisplay name:
应用程序显示名称。
假设要改动桌面上显示的文件名,仅仅要改动此处就能够了。
(须要先删除原始的程序,然后清空一下project,由于程序有缓存)
bundleidentifer:
唯一标识符(唯一的标识着一个应用程序,为了保证程序的唯一性,通常把域名倒过来写)
Bundle versions string, short和bundleversions
两个都用来表示应用程序的版本号。前面的版本号是正式的版本号,后面的为内部版本号。即公司内部开发的版本号。要求提示:上传app的时候。后面更新的版本号必须比之前的版本号大。
mainstoryboard file base name
最基本的storyboard
有两种方式改动plist配置文件:
第一种方式即在如图所看到的的界面对配置信息进行改动。
另外一种方式直接点击project,能够通过可视化界面进行设置。
补充说明:
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。
#import <Availability.h>
#ifndef __IPHONE_5_0
#warning "This project usesfeatures only available in iOS SDK 5.0 and later."
#endif
/************__OBJC__BEGIN************/
// 里面的全部内容仅仅能用到.m文件里或者.mm
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "TXPerson.h"
#ifdef DEBUG // 调试阶段
#define TXLog(...)NSLog(__VA_ARGS__)
#else // 公布阶段
#define TXLog(...)
#endif
#define ABC 10
#endif
/************__OBJC__END************/
/**
* 外面的全部东西,整个项目共享
*/
#define Name 10
/**
pch文件的作用:
1.存放一些全局的宏(整个项目中都用得上的宏)
2.用来包括一些所有的头文件(整个项目中都用得上的头文件)
3.能自己主动打开或者关闭日志输出功能
*/
说明:…指接收可变參数
补充:
_OBJC_这个宏,在全部的.m和.mm文件里,都默认包括了这个宏,就默认会编译以下那两句
条件编译语句,假设有这个宏,就编译以下的语句。
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
假设这个全局的头文件或者宏。仅仅须要在.m或.mm文件里使用,请把该文件或宏写到#ifdef_ODBC_中用。
注意点:建议写在条件编译里面(注意#endif)
infoplist.strings的文件。跟info.plist文件的本地化相关
iOS开发UI篇章 15-项目中的常见文件的更多相关文章
- iOS之多控制器管理--项目中的常见文件
项目中的常见文件 内容大纲: 1.LaunchScreen 2.info.plist文件 3.pch文件 1.LaunchScreen xcode5和xcode6区别 1.xcode6没有Framew ...
- ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明
ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...
- iOS开发UI篇—在UIImageView中添加按钮以及Tag的参数说明
ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwi ...
- iOS 项目中的常见文件
iOS的笔记-项目中的常见文件 新建一个项目之后,有那么多的文件,下面介绍一下主要的几个. 1.文件名 (1)AppDelegate UIApplication的代理,app收到干扰的时候,进行处 ...
- Xcode 6.4项目中的常见文件(info.plist)
Xcode 6.4项目中的常见文件(info.plist) 代码中获取 info.plist[NSBundle mainBundle] infoDictionary]; Bundle display ...
- iOS开发多线程在实际项目中的运用
实际项目开发中为了能够给用户更好的体验,有些延时操作我们都会放在子线程中进行. 今天我们就来聊聊多线程在实际项目中的运用. 我们先来看看多线程的基础知识: 1.多线程的原理: 同一时间,CPU只能处理 ...
- iOS开发小技巧--微博项目中的键盘工具条
微博项目中的键盘工具条 项目中的键盘工具条不能使用inputAccessoryView,因为inputAccessoryView不能实现键盘隐藏的时候,工具条还显示在眼前,如图: 所以,果断决定将工具 ...
- 【iOS开发】在ARC项目中使用非ARC文件
ARC的出现应该说是开发者的一大福利,苹果是推荐使用的,但是因为之前没有ARC机制,好多比较好的类库都是使用的非ARC,或是有些大牛还是不喜欢用ARC,封装的类也是非ARC的,想要在自己的ARC项目中 ...
- iOS开发UI篇—在UItableview中实现加载更多功能
一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时候,主页面(主控制器 ...
随机推荐
- 无root或sudo权限,安装mysql
这其实才是真正的linux,恰当使用权限. 网上找到的中文博客,基本上就那么几篇原创,都要编译源码.但89服务器性能太差编译一次大约半小时无法忍受,在本机上创建了standard用户去尝试几篇博客所言 ...
- C# 数据库数据动态插入(反射)
/// <summary> /// 提供将MySqlDataReader转成T类型的扩展方法 /// </summary> public static class MySqlD ...
- .NetCore Cap 注册 Consul 服务发现
注册服务发现 需要使用Cap中的UseDiscovery方法 具体用法如下 var capConsulConfig = Configuration.GetSection("CapConsul ...
- DRF分阶段序列化细化实例
DRF是分两阶段进行的. 如果是API接收数据,则是先进行Parser,将外界接收的bytes数据分析成python数据类型,其间涉及encoding操作,再进行序列化,将python数据类型保存进数 ...
- docker:定制node.js的版本
本想用alpine,但如果想使用node.js 6.3.1版本的软件, 总会搞不定glibc和libstdc++报一个无法识别版本信息的错误. 搞了一天,算了.使用debian:stretch-sli ...
- Jupyter notebook安装与使用
Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言. 安装 安装python 3 pip安装 pip3 install - ...
- matlab中等间距坐标距离表示不等间距数据值,以及延伸
1.问题 平时只是用了一下plot的简单画图. x轴或者y轴的大小比例都是按照系统自动的生成. 但是如果出现巨大的比例的时候,如何保证在另一个轴上可以同等机会展示结果呢? 2.程序 这里是自己书写的程 ...
- Web开发模式演变(转)
add by zhj:目前用的最多应该是模式二,其次是三.四,而模式五比较新,我自己也不太懂. 模式二--前后台交互的方式为整个页面,即每次请求,服务器都将HTML模板渲染后发给客户端,每次请求都返回 ...
- Eclipse下Maven新建项目、自动打依赖jar包(包含普通项目和Web项目)
不多说,直接上干货! 当我们无法从本地仓库找到需要的构件的时候,就会从远程仓库下载构件至本地仓库.一般地,对于每个人来说,书房只有一个,但外面的书店有很多,类似第,对于Maven来说,每个用户只有一个 ...
- 002.Git日常基础使用
一 获取git仓库 1.1 初始化仓库 [root@git ~]# cd /mystudy/ [root@git mystudy]# git init [root@git mystudy]# git ...