ios程序运行过程以及常见文件

ios程序具有完整的生命周期,当用户点击图标的时候,会通过函数入口main开始程序,也就是项目中的main.m文件中的UIApplicationMain 方法,这个时候,会创建一个UiApplication的实例有且只有一个(单例),UiApplication象征着整个程序,然后会创建一个UiApplication的代理对象delegate,再开启一个消息循环监听系统事件,如果监听到某一个动作就会给代理发送消息。

/*第三个参数 应用程序象征的类名 只能传uiapplication或其子类,若为空,默认就是uiapplication对象*/
/*第四个参数uiapplication代理*/
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([cooljuneAppDelegate class]));
四大对象之间的关系:


UiApplication代理中常用方法

didFinishLaunchingWithOptions加载完毕(只调用一次)
applicationWillResignActive失去焦点
applicationDidEnterBackground进入后台时调用
applicationWillEnterForeground进入前台
applicationDidBecomeActive获取焦点
applicationWillTerminate程序被关闭(且还能监听程序运行,播放器)

项目中常见文件的解释:

*-info.plist 项目中最主要的文件,描述的了名次软件版本唯一标识,也可以在summary中设置,其实就是修改这个plist文件

CFBundleDisplayName app名次

CFBundleVersion 版本号

UIMainStoryboardFile 加载后

CFBundleIdentifier 软件唯一标识

 

-Prefix.pch 默认情况下项目中所有文件都已经包含该文件

自定义自己的log函数

#ifdef DEBUG
//调试状态
#define MyLog(...) NSLog(__VA_ARGS__)
#else
//打包发布
#define MyLog(...)
#endif

application.statusBarHidden=NO; 隐藏状态栏

运行过程

view加载是采用延时加载的机制,用到的时候再加载,用到view的时候会调用loadview方法加载过程,loadview加载完成后才会调用viewDidLoad

  如果nibName有值,就会加载对应的xib文件来创建view

如果nibName没有值

                 1.首先会寻找和控制器同名的*.xib文件来创建view

                 2. 加载*.viewcontroller.Xib文件

                 3.如果没有xib文件,就会用代码创建一个黑色的view



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件存储在Swift iOS开发中是一个重要的主题。Swift提供了多种方法来进行文件存储和管理。其中一种常见的方法是使用沙盒机制。沙盒是每个iOS应用程序的独立文件系统,每个应用程序都有自己的文件目录,其他应用程序无法访问其中的文件。 在iOS中,常见文件存储方式包括: 1. 用户文档目录(Documents Directory):用于存储用户生成的数据,例如用户创建的文件或下载的内容。这些文件会被自动备份到iCloud,并在需要时可以从其他设备访问。可以使用`FileManager`类的`urls(for:in:)`方法获取该目录的URL。 2. 应用程序支持文件目录(Application Support Directory):用于存储应用程序的数据文件,例如数据库文件和配置文件。这些文件不会被自动备份到iCloud。可以使用`FileManager`类的`urls(for:in:)`方法获取该目录的URL。 3. 缓存目录(Caches Directory):用于存储临时数据,例如网络请求的缓存文件。这些文件不会被自动备份到iCloud,可能会在系统需要释放存储空间时被删除。可以使用`FileManager`类的`urls(for:in:)`方法获取该目录的URL。 4. 临时目录(Temporary Directory):用于存储临时文件,例如在应用程序运行期间创建的临时文件。这些文件可能会在应用程序终止后自动被删除。可以使用`FileManager`类的`temporaryDirectory`属性获取该目录的URL。 此外,还可以使用`UserDefaults`类来进行轻量级的数据存储,例如存储用户的偏好设置。 在SwiftUI中,还可以使用`FileImporter`修改器方法来将Files App中的文件导入到应用程序中。这个功能是从SwiftUI 2.0开始引入的,可以方便地将文件导入到应用程序中进行处理。 总之,Swift提供了多种方法来进行文件存储和管理,开发者可以根据具体需求选择适合的方法来处理文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SwiftUI 实现一个 iOS 上 Files App 兼容的文件资源管理器](https://blog.csdn.net/mydo/article/details/130714434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值