美文网首页iOS
一些基本概念

一些基本概念

作者: 习惯了_就好 | 来源:发表于2019-06-18 17:10 被阅读0次

Info.plist 文件

项目的配置文件,项目中其他Plist文件不能带有“Info”这个字眼。
常见属性
Localiztion native development region(CFBundleDevelopmentRegion)-本地化相关

Bundle display name(CFBundleDisplayName)-app名称,限制在10-12个字符,如果超出,将被显示缩写名称

Icon file(CFBundleIconFile)-app图标,一般为Icon.png

Bundle version(CFBundleVersion)-app版本号,每次往App Store上发布一个新版本时,需要增加这个版本号

Main storyboard file base name(NSMainStoryboardFile)-主storyboard文件的名称

Bundle identifier(CFBundleIdentifier)-app的唯一标识,部署到真机时用到

pch文件

pch头文件的内容能被项目中的其他所有源文件共享和访问
一般在pch文件中定义一些全局的宏

UIApplication

UIApplication对象是应用程序的象征
每一个应用都有自己的UIApplication对象,而且是单例的
通过[UIApplication sharedApplication]可以获得这个单例对象
利用UIApplication对象,能进行一些应用级别的操作。

获取对象:UIApplication *app = [UIApplication sharedApplication];

设置应用程序图标右上角的红色提醒数字
@property(nonatomic) NSInteger applicationIconBadgeNumber;

设置状态栏左上角联网指示器的可见性
@property(nonatomic,getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;

设置状态栏
从iOS7开始,系统提供了2种管理状态栏的方式
通过UIApplication管理(一个应用程序的状态栏都由它统一管理)
通过UIViewController管理(每一个UIViewController都可以拥有自己不同的状态栏)
// [app setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
// app.statusBarHidden = YES;
// app.statusBarStyle = UIStatusBarStyleLightContent;
[app setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];

设置图标右上角的数字,0代表清除数字
// app.applicationIconBadgeNumber = 0;

第三方应用打开网页,邮件,电话等
// [app openURL:[NSURL URLWithString:@"http://ios.itcast.cn"]];
// [app openURL:[NSURL URLWithString:@"tel://10086"]];
// [app openURL:[NSURL URLWithString:@"sms://10086"]];
// [app openURL:[NSURL URLWithString:@"mailto://12345@qq.com"]];

AppDelegate类,UIApplication的代理

/**
 *  app启动完毕后就会调用
 */
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{return YES;}
//    程序将要失去Active状态进入后台时调用,比如按下Home键或有电话信息进来
- (void)applicationWillResignActive:(UIApplication *)application{}
/**
 *  app进入后台的时候调用
 *  一般在这里保存应用的数据(游戏数据,比如暂停游戏)
 */
- (void)applicationDidEnterBackground:(UIApplication *)application{}
/**
 *  app将要进入前台的时候调用
 启动第一次程序并没有调用WillEnterForeground这个方法。
 */
- (void)applicationWillEnterForeground:(UIApplication *)application{}
//已经变成前台时调用
- (void)applicationDidBecomeActive:(UIApplication *)application{}

/**
  清除不需要再使用的内存
 */
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application{}
//当一个程序将要正常终止时会调用,但是如果长主按钮强制退出,则不会调用该方法
- (void)applicationWillTerminate:(UIApplication *)application{}

UIWindow

UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow

iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了

程序启动的完整过程
1.main函数

2.UIApplicationMain

  • 创建UIApplication对象
  • 创建UIApplication的delegate对象

3.分两种情况
没有使用storyboard的情况:
delegate对象开始处理(监听)系统事件

  • 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法
  • 在application:didFinishLaunchingWithOptions:中创建UIWindow
  • 创建和设置UIWindow的rootViewController
  • 显示窗口

使用storyboard的情况:
根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard

  • 创建UIWindow
  • 创建和设置UIWindow的rootViewController
  • 显示窗口

相关文章

  • PHP OOP编程从入门到不会

    PHP object-oriented programming OOP中的一些基本概念 OOP基本概念代码实例 O...

  • 11.4 Java 日期和时间类

    我们先来看一些基本概念,然后再介绍 Java 的日期和时间 API。关于日期和时间,有一些基本概念,包括时区、时刻...

  • 《统计学习方法》读书笔记(第一章)

    记录和总结自己读书的一些心得与体会。 第一章主要介绍一些基本概念与思想,回答了几个基本问题。 一些基本概念: 输入...

  • 一些基本概念

    .前端 前端是网站和用户交互的主要接口。 开发语言为HTML、 CSS、JS. ①HTML 一种文本、图片、链...

  • 一些基本概念

    Info.plist 文件 项目的配置文件,项目中其他Plist文件不能带有“Info”这个字眼。常见属性Loca...

  • 一些基本概念

    重点: 设计与集成 智能系统与智能化系统 “建筑智能化系统”的设计与集成 重点名词: 设计:是把一种设想通过合理规...

  • 一些基本概念

    第一 概念类 战略:战略/策略,是指为实现某种目标(如政治、军事、经济或国家利益方面的目标)而制定的高层次、全方位...

  • CentOS7.7+Tengine2.3.2+OBS Studi

    首先我们来初步认识一些名词,了解一些流媒体技术相关的基本概念,其次通过一个实例加深对基本概念的理解和记忆。 名词 ...

  • c++第一周笔记

    本周课程一开始先介绍了C++的一些基本概念,比如头文件的防卫式声明,、class的声明、模版的一些基本概念等等。下...

  • 网络优化(一)前述

    首先了解一些基本概念,关于网络优化的基本概念或者思路 RTT,round - trip time,就是服务端和终端...

网友评论

    本文标题:一些基本概念

    本文链接:https://www.haomeiwen.com/subject/gpufqctx.html