iOS开发的学习笔记

引言

之前做过半年的iOS开发,从完全不懂的移动开发的菜鸟,到完成前端UI开发的菜鸟,做的一些笔记,希望对大家有用,也希望这些总结的东西对以后会有作用。

开发环境

iOS的系统框架分为四个层次:

  • 核心操作系统层(Core OS):包括内存管理、文件系统、电源管理以及一些其他的操作系统任务。可以直接和硬件设备进行加互。
  • 核心服务层(Core Services):可以通过它来访问iOS的一些服务,比如网络连接、文件访问、数据库和用户定位等。
  • 媒体层(Media):通过它可以在应用程序中使用各种媒体文件,进行音频和视频的录制,图形的绘制以及制作基础的动画效果。
  • 可触摸层(Cocoa Touch):这一层为应用程序开发提供了各种游泳的框架,并且大部分与用户界面有关,本质上来说,它负责用户在iOS设备上的触摸交互操作。

    ios_system_structure

开发语言

Object-C

根据C语言所衍生出来的语言,继承了C语言的特性,是扩充C的面向对象编程语言。完全兼容C语言,后缀为.m类型。

swift
  • 简介:Swift在天朝译为“雨燕”,它跟Objective-C一样,可用于开发iOS、MAC应用程序。苹果公司从2010年7月开始设计Swift语言,耗时4年打造。苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。

  • 特点:Swift是一门完全面向对象的语言,它抛弃了C/C++的历史包袱,就是基本的类型如char、Int、Long等类型都是一个结构体对象, 引入在Java、C++、Python中使用的操作符重载、泛型、名字空间、闭包等特性。

    本质上讲:Swift语言是对OC语言的优雅包装,它的底层还是使用Cocoa Touch,Foundation框架,只是在语言层面上让开发变得更简单了。

  • 面向对象(OOP):是现代流行的程序设计方法,是一种主流的程序设计规范。其基本思想是使用对象、类、继承、属性、方法等基本概念来进行程序设计,从现实世界中客观存在的事物出发来构建软件系统,并且在系统构造中尽可能运用人类的自然思维。swift语言中的面向对象类型如下:

    swift_objective

    苹果公司声称新的Swift语言拥有快速、现代、安全、互动的新特性,并且性能全部优于OC。

    swift_performance

  • swift与OC语言在编程时的区别

    • 不像 C语言和 OC语言一样都必须有一个主函数 main()作为程序入口,swift程序从第一句开始向下顺序执行。一直到最后。
    • 每个语句结束后可以不加分号,但是多条语句不能写在同一行
    • 在声明常量或者变量的时候直接初始化可以省略其类型,否则需要在变量名称后跟冒号加类型。实际开发中建议全都加上,以免出现错误

开发环境

  • 软件环境:

    • 运行环境:iOS(苹果公司开发的移动操作系统);
    • 开发环境:mac OS Sierra 10.12.1(swift语言开发最低要求为Mac OS X10.9.3版本以上);
    • 开发工具:Xcode 7.3版本(要求Xcode 6.0以上);
  • 硬件环境:

    • Mac苹果电脑

开发流程

开发者证书

Certification

Cocoa框架

Cocoa是创建Mac OS X和iOS程序的原生面向对象API,为这两者应用提供了编程环境。 通常称为“Cocoa框架”,事实上Cocoa本身是一个框架的集合,它包含了众多子框架。

cocoa

  • Cocoa中最最核心的有两个

    • Foundation框架:Foundation框架为所有的应用程序提供基本系统服务,Foundation框架包含所有和界面显示无关的类。包含:

      • 创建和管理集合,比如数组和字典
      • 访问存储在应用程序里的图片和其它资源
      • 创建和管理字符串
      • 提交和接收通知
      • 创建日期和时间对象
      • 自动发现IP网络上的设备
      • 操作URL流
      • 执行异步代码
    • Application Kit(AppKit)框架(Cocoa Touch中叫UIKit框架):Application Kit 框架包含实现图形的、事件驱动的用户界面需要的所有对象:窗口、对话框、按键、菜单、 滚动条、文本输入框—-这个列表还在不断增加。包含:

      • 构建和管理你的用户界面
      • 捕获触摸和基于移动的事件
      • 呈现文字和web内容
      • 优化你的多任务程序
      • 创建定制的用户界面元素

第三方库

除了需要核心框架,在APP开发过程中还会用到一些辅助框架,如Alamofire(网络请求)、JLToast(动态弹出框)等。

在开发项目中,需要使用第三方库,Cocoapods是最有影响力的OS X 和iOS项目依赖管理工具,于2011年发布,经过多年的发展,他已经非常完善了。Cocoapods支持项目中采用Object-C或者swift语言。

Cocoapods会将第三方库的源代码编译为静态链接库.a文件或者是动态框架.framework文件的形式,并将它们添加到项目中,建立依赖关系。

CocoaPods被建立在Ruby上,而自从OS X 10.7之后的Mac OS X版本带有Ruby,这样使用起来非常方便。

设计架构

design_model

代码实现流程

  • OC

    oc_development

  • Swift

    swift_development

进展

ios_process

参考资料

  1. iOS开发简介.pdf
  2. iOS系统架构及OC开发流程.pdf
  3. swift语法学习笔记.pdf
  4. 基于swift的iOS开发学习笔记.pdf
  5. 《iOS开发指南 从Hello World到App Store上架》(第4版).关东升 著;
  6. 《从零开始学Swift》.关东升 著;
  7. 《swift开发实战 权威指南》欧阳坚等 著;
  8. 《iOS成长之路》
文献5-6的源码:链接: https://pan.baidu.com/s/1PCOYYjwhMZTrGQ-D9Bh6vA 密码: bsas
需求响应动态冰蓄冷系统与需求响应策略的优化研究(Matlab代码实现)内容概要:本文围绕需求响应动态冰蓄冷系统及其优化策略展开研究,结合Matlab代码实现,探讨了在电力需求侧管理背景下,冰蓄冷系统如何通过优化运行策略参与需求响应,以实现削峰填谷、降低用电成本和提升能源利用效率的目标。研究内容包括系统建模、负荷预测、优化算法设计(如智能优化算法)以及多场景仿真验证,重点分析不同需求响应机制下系统的经济性和运行特性,并通过Matlab编程实现模型求解与结果可视化,为实际工程应用提供理论支持和技术路径。; 适合人群:具备一定电力系统、能源工程或自动化背景的研究生、科研人员及从事综合能源系统优化工作的工程师;熟悉Matlab编程且对需求响应、储能优化等领域感兴趣的技术人员。; 使用场景及目标:①用于高校科研中关于冰蓄冷系统与需求响应协同优化的课题研究;②支撑企业开展楼宇能源管理系统、智慧园区调度平台的设计与仿真;③为政策制定者评估需求响应措施的有效性提供量化分析工具。; 阅读建议:建议读者结合文中Matlab代码逐段理解模型构建与算法实现过程,重点关注目标函数设定、约束条件处理及优化结果分析部分,同时可拓展应用其他智能算法进行对比实验,加深对系统优化机制的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybirding10011

谢谢支持啊999

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值