ios学习规划

作者: shalapovar | 来源:发表于2018-06-11 14:49 被阅读57次

    1.准备

    1)准备Mac,mac是必须的,可以选择的是mac mini(最便宜的,不过要自配显示器)、mac book(有三种,推荐pro)、imac(最合适的开发设备,就是太贵)、黑苹果(最实惠,最难搞,学习推荐远景

    2)准备iphone,手机尽量要有,不然模拟器很多东西都模拟不出来的(比如摄像头,重力什么的),如果真买不起iphone,ipod touch 也是可以代替的

    3)开发者账号,开发者账号是为了能真机调试,不然你有手机也不能调试,可以到官网买一个(一年688元人民币,可以一群人一起买),配置下证书,买了账号还可以发布你的应用。

    4)在app store 下载xcode开发工具

    2.入门(初级)

    1)基本语法

    基本语法看看基础书和视频就可以了,如果是自己学习的话可以直接研究swift,如果是为了找工作和公司认可的话还是建议要学objective-c。(下面都以oc为例)

    2)界面学习(红色重点)

    ios的UI一般有三种方式:手写布局、xib、storyboard

    常用的控件:UIView、UIButton、UILabel、UIImageView、UITextFiled、UITableView、UITableViewCell

    ios的MVC模式:M(数据层单独创建Model、Info)、V( 分散在xib、storyboard、view、UIViewController)、C(UIViewController)

    UITableView总结

    页面切换结构:UINavgationController(pushViewController)、UITabbarViewController(setSelectedViewContoller)、UIViewController(PresentViewController)、UIView(AddSubView)

    3)持久化存储数据

    FMDB(sqlite)、NSUserDefault

    4)数据结构

    NSArray(数组)、NSDictionary(字典)、NSMutableArray(可变数组)、NSMutableDictonary(可变字典)、NSData(二进制数据)、NSDate(时间)、NSString(字符串)、double、int、float

    5)层间回调

    NSNotificationCenter(通知)、Delegate(协议)、Block(块)

    ios 异步回调选择

    6)网络(学会使用)

    ASINetWork、AFNetWorking

    ios http 上传图片

    7)静态数据、全局数据、外部定义数据、宏定义、常量数据

    8)多看别人的代码,github

    推荐几个我自己写的,合适入门的应用源码:

    rando(图片分享):http://git.oschina.net/jonear/Rando

    消消豆(小游戏):http://git.oschina.net/jonear/LianLianDots

    Demo(一些实例):https://github.com/Jonear/iosDemo

    9)推荐书:《Objective-C 基础教程》

    3.进阶(中级)

    1)界面学习

    常用的控件(补充):UICollectionView、UITextView、UIScrollView、UIActivityIndicatorView、UISegmentedControl、UIPageControl、UISlider、UISwitch、UIProgressView、UIWebView、UIMapView、UISearchBar、UIWindow

    手势:touchBegin、touchMove、touchEnd、UIGestureRecognizer(tap/pan/long)、摇一摇

    MVC:学习层级结构,层级调用、搭建框架

    app通知:UIApplicationDidEnterBackgroundNotification等(UIApplication.h)

    自动布局:autoLayout、autoResizing、code By ScreenSize

    2)xcode快捷键熟悉

    3)图片处理(切圆、滤镜、缩放等)

    ios圆角图片的实现》《ios图片拉伸》《UIImageView中图片的大小缩放

    4)VC、view加载结构和过程(viewWillAppear\viewWillDisappear\viewdidload)

    5) 多线程与安全(NSThead、GCD、NSOpration)《ios多线程总结

    6)内存管理(ARC、autoreleasepool、@property)

    7)持久化存储数据(补充)

    coreData、文件、cSqlite、plist

    8)分类(类别)、常用分类库(BFKit

    9)网络(补充)

    NSUrlConnection、TCP/UDP

    网络数据结构:json、xml,解析和生成

    学习第三方库源码结构:ASI、AF

    10)强化学习UITableView(自定义Cell,重用优化)

    11)性能调试工具 Instruments

    12)字符串处理(剪切、匹配、反转等)

    13)动画(UIView动画,UILayer动画) 《ios隐性动画

    14)内外部推送处理、推送证书、发布证书

    15)语音视频播放、录制、处理

    16)毛玻璃、高斯模糊(FXBlurView、UIBlurEffect)

    17)多看第三方库的代码《记录ios第三方库

    18)推荐书:《Effective Object-C》

    4.熟练(高级)

    1)界面学习:(补充)

    手势冲突处理、UIWebView js交互、MVC结构搭建和优化

    2)runtime(非常重要)

    3)runloop

    4)逆向工程分析

    5)MRC性能管理

    6)多线程优化、队列、锁优化

    7)网络结构、底层协议、安全(加解密方法、https)

    8)keychain

    9) 音视频处理(裁剪,合成、除噪、滤镜)GPUImage、直播、格式转换

    10)高阶动画(贝塞尔、阻尼、正弦RBBAnimationpop

    11) 数据统计,埋点(方案、优化)

    12)即时通信(方案、网络、刷新)

    13)编写SDK、xcode插件、FrameWork

    14)apple watch

    15) CGContextRef 绘图

    16)多看官方贴:https://developer.apple.com/library/prerelease/ios/navigation/

    17)core、coreText、coreImage...

    18)推荐书:《ios逆向工程》

    相关文章

      网友评论

        本文标题:ios学习规划

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