iOS开发怎么学?这些学习路线值得收藏

中级iOS开发 iOS中级开发说白了,就是你学会了基本的UI界面搭建,上架,沉淀一段时间,你觉得自己还适合这门行业,还适合,还能接受 这个所谓的iOS开发工程师的行业.你就可以说是一名中级iOS开发....

attachments-2021-04-9egoTr1Y608a604c4a7ce.png

中级iOS开发

iOS中级开发说白了,就是你学会了基本的UI界面搭建,上架,沉淀一段时间,你觉得自己还适合这门行业,还适合,还能接受 这个所谓的iOS开发工程师的行业.你就可以说是一名中级iOS开发.

这个沉淀时间 大约在1年的实际工作中,就可以完成.

如果你觉得这门行业不适合你,请仔细结合自身情况,是否转另一门计算机语言,还是彻底转行.

是否了解AFNetworking 的实现原理

是否了解SDAutolayout/Masonry 一种布局库的原理

是否能够处理基本的iOS崩溃原因/无法编译原因/无法上架原因?

是否拥有了一定的工作效率,稳定的工作效率.(而不是说,上面派了一个活下来,忙都忙不完,天天加班,还一堆bug)

是否能够处理第三方库引起的崩溃.

是否可以很好的融入工作环境,完成每一阶段的工作指标,而不会让自己疲惫不堪.

Xcode的使用

第三方库的灵活使用

AFN

MJRefresh

各种网站的使用

如何判断是否可以升阶

应用的内存处理

应用的推送处理

应用的模块化/单元测试

应用的第三方集成/集中化管理/稳定迭代

阅读强大的第三方源码/拥有快速上手新的第三方库的能力.

能够接受各种新功能的开发(这里是指,即使你没有做过,但是你仍然可以凭借着学习,解决任何业务需求:例如:蓝牙.AR.摄像头.硬件交互.等)

清楚明白数据的传递方式,应用与后台如何交换数据,交换数据的过程,结果,格式.

多线程的灵活使用.

各种并发事件的处理/以及界面的合理性/流畅度

设计模式的灵活使用.

高级iOS开发

应用的组件化/架构分层

数据结构,操作系统,计算机网络都有自己的了解和认知

Shell脚本/python/Ruby/JS 至少会一种.

说明:作为一名高级的iOS开发,你需要具备以下技能(我不是高级开发,所以这里只能给你们提供建议.)

这里只简单阐述一些概念性的东西,以及学习路线规划,真正的知识请从iOS基础知识点往下开始看.

Objective-C

概念

编译原理

程序启动原理

结束程序.

监听系统事件

Info.plist

.pch

App组成

打开程序

执行main函数

执行UIApplicationMain函数

初始化UIApplication(创建设置代理对象,开启事件循环)

语法.(此处定义可能略失严谨,口头教学为主)

基础语法

对象.

属性

数据类型

方法

继承

Frame/CGRect/CGPoint和CGSize

内存(针对MRC下情况进行介绍)

ARC/MRC

弱引用/强引用

Assign,retain,copy,strong

import 和@class的区别

Xcode使用

首先是针对Xcode菜单栏,希望自己可以去翻译一下每个菜单里每项功能的英文都是什么意思,有助于自己熟悉并加深印象的使用Xcode.

熟悉Xcode的各个功能.

UIKit控件.

界面分析(下载App进行学习).

界面适配

在这里推荐有兴趣的开发人员,下载并分析,AppStore中的每项分类的top50的应用,多学习大公司以及流行应用是如何开发应用的,其中流行的,新颖的开发界面的方式可以总结下来,猜想在大应用中,别的程序员是如何开发的.

代码架构.

各种工具、第三方的使用.

其实每个项目的建立都大致分为:项目框架搭建,原生界面搭建,嵌入第三方库.有很多功能都会用到第三方库,大多数第三方库都是本着快速开发,完整功能实现的目的存在的.需要开发人员能够根据业务逻辑不同,选择最好最优质的第三方库进行使用.

代码封装

当使用较多第三方库后,要求开发人员学习其开发特点,以及其封装手法,运用在自己的项目上,封装自己的代码.灵活运用.

完整项目.

开发技巧

个人心得

iOS基础知识点

如何学习iOS

开始涉猎不止于iOS领域中的知识,会去了解相关职位的基础知识,例如前端和后台或者服务器运维,或者项目相关知识,具体往自己的职业规划靠拢

多看开源或者注明的第三方库.

收藏并阅读各种大神的博客或者论坛.

开始考虑项目中的细节优化,内存处理和耗电情况

打好基础,学习OC中各种常用语法.

学习如何上架,上架会因为什么被拒,了解App上架规则.

多学习官方说明文档.

刚刚入门(如何学习)

刚刚入职1年(如何稳定)

入职3年(如何进阶)

框架的学习

AFNetworking

SDAutoLayout

YYKit

SDWebImage

MJRefresh

MJExtension

Bugly

Qiniu

Masonry

TZImagePickerController

Hyphenate_CN

第三方框架

苹果自带框架

基础UI控件

UILabel 标题栏

UIButton 按钮

UIImageView 图片视图

UITextField 文本输入框

UITextView 文本展示视图

UIProgressView 进度条

UISlider 滑动开关

UIGesture 手势

UIActivityIndicator 菊花控件

UIAlertView(iOS8废除) 警告框

UIActionSheet(iOS8废除) 操作表单

UIAlertController(iOS8出现) 警告视图控制器

UIScrollView 滚动视图

UIPageControl 页面控制器

UISearchBar 搜索框

UITableView 表视图

UICollectionView集合视图

UIWebView网页浏览器

UISwitch开关

UISegmentControl选择按钮

UIPickerView选择器

UIDatePicker日期选择器

UIToolbar工具栏

UINavigationBar通知栏

UINavigationController通知视图控制器

UITabbarController选择视图控制器

UIImagePickerController相册

UIImage图片

Xcode的使用

内存监测

全局断点

全局搜索替换

界面适配

StoryBoard

界面预览

基础操作 状态栏

偏好设置

Xcode Source Control 源代码管理器

Xcode workSpace工作组

Xcode Scheme 计划

Xcode AutoLayout 约束

Xcode CoreData数据库

LLDB 断点调试

数据存储

沙盒存储

NSDictionary归档

NSUserDefault

CoreData

NSKeyedArchiver

SQLite

FMDB

plist

App生命周期

alloc

init

创建View

ViewDidLoad

ViewWillAppear

ViewDidAppear

ViewWillDisappear

ViewDidDisappear

视图将要消失 (做一些视图将要消失时的UI的处理)

视图已经消失 (做一些视图消失之后数据的处理)

viewDidDisappear销毁定时器

dealloc

didReceiveMemoryWarning

控制器生命周期

应用生命周期

开发者账号&上架流程

个人

公司

企业

常用知识

响应链

异常捕捉

国际化

代码模块化

类别/扩展

iPad与iPhone的区别

静态库

内存管理

Quartz2D

真机调试

isKindOfClass 与 isMemberOfClass

Return/Break/Continue

Core Animation

CALayer

AutoLayout

KVC/KVO

谓词NSPredicate

帧动画

界面旋转+状态栏隐藏

plist文件

通信

NS系列

宏定义

视图层次

切换视图

深浅拷贝

对象序列化

写入文件

获取沙盒路径

翻转视图

延伸视图

九大基本数据类型

九宫格

坐标比较

UIColor 、CIColor和CGColor 之间的关系

画图

静态变量

tag值

延时执行方法

中级知识点

设计模式

UIScrollView/UITableView/UICollectionView 的嵌套

动态行高

通知/代理/block

程序启动原理

触摸事件/手势

图文混编

Runtime

NSRunLoop

GCD

ReactiveCocoa开发

3DTouch

界面渲染

Charles花瓶抓包

区分模拟器/真机项目

常用知识

Block

蓝牙/传感器

物理仿真器UIDynamic

通讯录获取

音频/视频/二维码

真机调试

苹果内购/广告

推送/远程推送

单例模式

多线程

网络请求

定位

源代码管理Git

iOS高级知识点

Socket

XMPP

加密

MD5详解

Base64加密解密

RSA非对称加密

AES对称加密

音频

基础

Core Audio

Audio Toolbox

OpenAL

AVFoundation

Speex语音聊天

AudioQueue/AudioSession

Speex简介

视频

AAC视频.H264推流

P2P传输

直播

RTMP协议

RTMP直播应用与延时分析

如果做一款inke版的App

推流发布和播放RTMP

FFmpeg

基于FFmpeg的推流器

HLS流媒体传输协议(HTTP Live Streaming)

FFmpeg

ijkPlayer

直播的技术分析与实现

算法

简介

冒泡排序

快速排序

插入排序

归并排序

二分查找

希尔排序

动态规划

堆排序

相关文章:

iOS开发语言是什么意思?这篇文章带你了解它!

iOS的开发前景如何?现在学还有前景吗?

更多技术资讯,请继续关注六星教育社区-程序员编程技术分享交流学习高端论坛

  • 发表于 2021-04-29 15:29
  • 阅读 ( 12 )
  • 分类:其他

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

204 篇文章

作家榜 »

  1. Pack 1103 文章
  2. 轩辕小不懂 204 文章
  3. 小编-青青 108 文章
  4. 吉洪叶 21 文章
  5. Cara 18 文章
  6. 五福 12 文章
  7. 文双 12 文章
  8. 小威 9 文章