开源 Objective-C IOS 应用开发(四)Xcode工程文件结构

 文章的目的为了记录使用Objective-C 进行IOS app 开发学习的经历。本职为嵌入式软件开发,公司安排开发app,临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。

 相关链接:

开源 Objective-C IOS 应用开发(一)macOS 的使用

开源 Objective-C IOS 应用开发(二)Xcode安装

开源 Objective-C IOS 应用开发(三)第一个iPhone的APP

开源 Objective-C IOS 应用开发(四)Xcode工程文件结构

开源 Objective-C IOS 应用开发(五)iOS操作(action)和输出口(Outlet)

开源 Objective-C IOS 应用开发(六)Objective-C 和 C语言

开源 Objective-C IOS 应用开发(七)Objective-C核心代码示例

开源 Objective-C IOS 应用开发(八)常见控件UI

开源 Objective-C IOS 应用开发(九)复杂控件-tableview

开源 Objective-C IOS 应用开发(十)数据持久化--文件

开源 Objective-C IOS 应用开发(十一)数据持久化--sqlite

开源 Objective-C IOS 应用开发(十二)通讯--ble

开源 Objective-C IOS 应用开发(十三)通讯--Http访问

开源 Objective-C IOS 应用开发(十四)传感器--陀螺仪和gps

开源 Objective-C IOS 应用开发(十五)通讯--蓝牙ble扫描

开源 Objective-C IOS 应用开发(十六)Storyboard模式下的纯代码界面

开源 Objective-C IOS 应用开发(十七)CAF音频的录制

开源 Objective-C IOS 应用开发(十八)音频的播放

开源 Objective-C IOS 应用开发(十九)视频的播放

开源 Objective-C IOS 应用开发(二十)多线程处理

开源 Objective-C IOS 应用开发(二十一)自定义控件--示波器

开源 Objective-C IOS 应用开发(二十二)自定义控件--车速仪表盘

 推荐链接:

开源 Arkts 鸿蒙应用 开发(一)工程文件分析-优快云博客

开源 Arkts 鸿蒙应用 开发(二)封装库.har制作和应用-优快云博客

开源 Arkts 鸿蒙应用 开发(三)Arkts的介绍-优快云博客

开源 Arkts 鸿蒙应用 开发(四)布局和常用控件-优快云博客

开源 Arkts 鸿蒙应用 开发(五)控件组成和复杂控件-优快云博客

开源 Arkts 鸿蒙应用 开发(六)数据持久--文件和首选项存储-优快云博客

开源 Arkts 鸿蒙应用 开发(七)数据持久--sqlite关系数据库-优快云博客

开源 Arkts 鸿蒙应用 开发(八)多媒体--相册和相机-优快云博客

开源 Arkts 鸿蒙应用 开发(九)通讯--tcp客户端-优快云博客

开源 Arkts 鸿蒙应用 开发(十)通讯--Http-优快云博客

开源 Arkts 鸿蒙应用 开发(十一)证书和包名修改-优快云博客

开源 Arkts 鸿蒙应用 开发(十二)传感器的使用-优快云博客

开源 Arkts 鸿蒙应用 开发(十三)音频--MP3播放_arkts avplayer播放音频 mp3-优快云博客

开源 Arkts 鸿蒙应用 开发(十四)线程--任务池(taskpool)-优快云博客

开源 Arkts 鸿蒙应用 开发(十五)自定义绘图控件--仪表盘-优快云博客

开源 Arkts 鸿蒙应用 开发(十六)自定义绘图控件--波形图-优快云博客

开源 Arkts 鸿蒙应用 开发(十七)通讯--http多文件下载-优快云博客

开源 Arkts 鸿蒙应用 开发(十八)通讯--Ble低功耗蓝牙服务器-优快云博客

推荐链接:

开源 java android app 开发(一)开发环境的搭建-优快云博客

开源 java android app 开发(二)工程文件结构-优快云博客

开源 java android app 开发(三)GUI界面布局和常用组件-优快云博客

开源 java android app 开发(四)GUI界面重要组件-优快云博客

开源 java android app 开发(五)文件和数据库存储-优快云博客

开源 java android app 开发(六)多媒体使用-优快云博客

开源 java android app 开发(七)通讯之Tcp和Http-优快云博客

开源 java android app 开发(八)通讯之Mqtt和Ble-优快云博客

开源 java android app 开发(九)后台之线程和服务-优快云博客

开源 java android app 开发(十)广播机制-优快云博客

开源 java android app 开发(十一)调试、发布-优快云博客

开源 java android app 开发(十二)封库.aar-优快云博客
 

本章内容主要为Xcode 默认的工程文件结构,基于Storyboard模式,Objective-C语言开发的工程。

目录:

1.项目文件结构

2.启动和数据流

3.通常的用法

一、项目文件结构

新建项目后的工程文件

你的工程名 (YourProjectName)

这是最顶级的组,包含了整个项目的源代码和资源。

  • AppDelegate.h 和 AppDelegate.m

    • 功能:这是整个应用的核心管理者和“总指挥”。它负责监听和应用生命周期相关的关键事件。

    • AppDelegate.h:头文件,声明了 AppDelegate 类及其需要对外暴露的方法和属性。

    • AppDelegate.m:实现文件,包含了这些方法的具体代码。你会在这里看到诸如:

      • application:didFinishLaunchingWithOptions::应用启动后第一个调用的方法,在这里进行初始化设置。

      • applicationWillResignActive::应用将要进入非活动状态(比如有电话打入)。

      • applicationDidEnterBackground::应用已经进入后台。

      • applicationWillEnterForeground::应用将要进入前台。

      • applicationDidBecomeActive::应用已经变为活动状态(开始与用户交互)。

  • ViewController.h 和 ViewController.m

    • 功能:这是单个界面的控制器。它负责管理你在 Storyboard 中看到的那个视图(View),处理用户的交互(如按钮点击、屏幕触摸)和界面的逻辑。

    • ViewController.h:头文件,声明了与界面元素(如 UILabel, UIButton)关联的 IBOutlet 属性,以及响应事件的 IBAction 方法。

    • ViewController.m:实现文件,你在这里编写控制视图和响应事件的具体代码。它是 UIViewController 的子类。

  • Main.storyboard

    • 功能:这是应用的可视化界面设计文件。你通过拖拽控件(按钮、标签、文本框等)来设计用户界面,而不是纯手写代码。它描述了应用有哪些界面,以及界面之间的跳转关系。

    • 在这个模板中,它包含了一个 ViewController 场景,并通过一个箭头指向它,表示这是应用的初始界面

  • Assets.xcassets

    • 功能:这是应用的图片、图标、颜色等资源的管理库。你将项目中用到的所有图像都放在这里,Xcode 会自动为不同分辨率的设备(如 @2x, @3x)进行管理。

    • 你也会在这里设置应用的图标 AppIcon

  • LaunchScreen.storyboard

    • 功能:这是应用的启动图界面。在应用启动但还未完全准备好与用户交互时,系统会显示这个界面。它通常是一个与首个界面相似的静态页面,用于提升用户体验。注意:不要在这里写复杂的逻辑。

  • main.m

    • 功能:这是整个 Objective-C 程序的入口点。它非常简短,主要工作是调用 UIApplicationMain 函数,这个函数会创建应用程序对象和应用程序代理(AppDelegate),并启动整个事件循环。你通常永远不需要修改这个文件。

  • Info.plist

    • 功能:这是应用的“身份证”和“配置清单”。它是一个属性列表文件,包含了应用的元信息,例如:

      • 应用的显示名称(Bundle display name)

      • 版本号(Bundle version)

      • 主 Storyboard 文件的名称(Main storyboard file base name)

      • 支持的设备方向等。

Products
  • YourProjectName.app

    • 功能:这代表编译后生成的可执行文件。它通常显示为红色,因为在编译之前这个文件还不存在。编译成功后,Xcode 会找到这个 .app 文件的位置,你可以右键选择 “Show in Finder” 来查看生成的应用包。

二、启动和数据流

启动流程:

  1. 程序入口:系统从 main.m 开始执行。

  2. 创建应用核心main.m 中的 UIApplicationMain 函数会创建 UIApplication 单例对象,并实例化 AppDelegate

  3. 初始化:应用代理的 application:didFinishLaunchingWithOptions: 方法被调用。

  4. 加载主界面:系统读取 Info.plist,找到 Main storyboard file base name 的配置(例如 Main)。

  5. 实例化初始控制器:系统加载 Main.storyboard,并创建其中指定的初始 ViewController 的实例。

  6. 显示界面:将 ViewController 的视图显示在屏幕上。

  7. 用户交互:之后,用户与屏幕的交互会由 ViewController 中的 IBAction 方法来响应。

三、通常的用法

开发时的通常做法:

  1. 在 Main.storyboard 中拖拽控件,设计界面。

  2. 在 ViewController.h 中,通过 “Ctrl+拖拽” 的方式创建 IBOutlet(属性)和 IBAction(方法)。

  3. 在 ViewController.m 中实现 IBAction 方法的逻辑代码。

  4. 将图片资源拖入 Assets.xcassets 中,然后在 Storyboard 或代码里使用。

  5. 在 Info.plist 中修改应用名称、版本号等配置。

文件功能的总结:

  • AppDelegate:管理应用级的事件和状态。

  • ViewController:管理单个屏幕的界面和逻辑。

  • Main.storyboard:可视化地设计界面。

  • Assets.xcassets:集中管理图片资源。

  • Info.plist:配置应用的元数据和系统设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值