![](https://i-blog.csdnimg.cn/blog_migrate/410203a2b7da3ca68a2013633a45b6ed.jpeg)
必要的知识
成为一个iOS应用程序开发,并可以独立开发,或是去应聘一份工作,以下会是你需要的必要知识与技能。
Swift语言功能
正如我在本教程第一部分中提到的,Swift是iOS应用程序开发的首选。你需要知道如何使用它。以下是你甚至可以在纸上写出的最重要内容的列表:
你应该要学会:
语法和变量
条件和循环
数组和词典
函数
类和结构
没看懂没关系。你就还没开始学,看不懂是应该的,别担心。
Xcode
Xcode为你提供了一个非常友好的界面,因此,学习怎么用它很容易。
你应该要学会:
创建新项目并加上CocoaPods
在iOS模拟器和设备上运行你的应用程序
调试你的应用程序(使用控制台输出找到问题所在)
将你的应用程序提交到App Store
Interface Builder和UIKit
Interface Builder是Xcode的一部分,你可以在项目窗口中打开XIB或Storyboard文件时看到它。它的作用是使构建用户界面尽可能简单。UIKit框架是iOS SDK的一部分(意思就是都包含在Xcode里面,不需要另行安装)。它包含用户界面组件和控件。使用Interface Builder,你可以使用UIKit组件,而无需编写任何一行代码。
你应该要学会:
在故事板中为你的应用程序创建导航模型(UINavigationController、UITabBarController、UISplitViewController)
了解ViewController的模态和UINavigationController机制的区别
使用故事板编辑器创建一个新的ViewController,并以代码将其与其类连接
了解UITableViewController、UICollectionViewController和UIViewController
使用自动布局约束构建用户界面
使用@IBDesignable和@IBInspectable属性创建自定义视图
iOS SDK
iOS SDK由数十个框架和数千种方法组成。没有人能全部了解他们,你也没有必要去完全了解。你只需要知道怎么去使用其中的功能,并知道在哪里可以找到其他的文档说明。以下是最常用的框架列表:
基础(函数、网络、数组、字典、字符串等数据结构的基层)
UIKit(用户界面)
MapKit
Core位置(GPS和访问用户位置)
CoreData(本地数据库)
用户通知
本地身份验证(触控ID、FaceID)
GCD(多线程)
在学习的过程中,多使用这些框架其中的功能。
第三方库
将第三方库加进项目中最常见的方法是CocoaPods。以下是使用最广泛的库列表:
Alamofire
SwiftyJSON
ObjectMapper
SDWebImage
CocoaLumberjack
了解并善用已有的第三方库,可以让你事半功倍。
怎么用应用程序赚到钱
当然你可以直接去应聘一份工作,或是接案子为别人开发App。但是如果你想走个人开发路线,从此自由自在的生活,过不受约束的生活的呢?这样,你就需要如何从App赚钱的方法。这可能会是你最关心的内容之一。
你应该要学会:
如何推广App
关键字优化
如何定价并销售App
怎么加进广告
如何在App内进行内购
如何开始自己的应用程序项目
学习iOS应用程序开发的最佳方法就是开始创建自己的应用程序项目。你可以在自己的应用程序中试用新学到的东西,并逐步构建到一个完整的应用程序。对于初学者应用程序开发人员来说,最大的困难是从做教程过渡到从头开始编码自己的iOS应用程序。
先别想太多,一步一步的就不会觉得困难。
在学习过程中尽早开始自己的项目,活化你的思考模式。怎么做最有成效,就怎么做。不要被iOS教程困住!没有什么一成不变的方法,只要能完成项目,方法有很多。先完成,再来优化;编码自己得先能理解、能看懂,这才是最重要的。
从简单、基本的应用程序点子开始
设计和规划应用程序的功能
构思应用程序的数据结构
搜集合适的框架和库
设置应用程序项目并构建第一个功能
接着构建下一个功能
完成,提交,再继续优化
关于创建你的应用程序,请记得下面的建议:
不要试图构建下一个抖音或是一个手游,也不要让你的应用程序想法太复杂
记下最佳做法、摘要、技巧和窍门的笔记本
当你认为你可以处理更具挑战性的项目时,逐步升级你的目标
从不同的角度处理问题,并学习一个问题的不同解决方案
当你使用框架或库时,得了解它的工作原理
回到你之前编写的代码和构建的功能,并使用你现在知道的知识对其进行改进、优化
构建自己的应用程序的过程非常有趣和成就感。重要的不仅仅是完成一个App——改进、学习和精炼的逐步进展是值得的。经历过这整个过程,你将练就一个有价值的、好使的技能:iOS开发!