在开始iOS开发之前我希望知道的事情

如果您刚刚开始学习如何构建iOS应用,那么您可能会无所适从。 我去过那里,我想我仍然在那儿。 我是一名自学成才的开发人员,目前在银行工作。

今天,我想与大家分享在踏入大门之前我希望知道的事情。

您无需彻底了解有关代码的每个细节。

我是一个数学专业的学生,​​所以如果我不了解任何事情的每一个角落和裂缝,我都会变得不自信。 当我开始学习iOS开发时,它实际上对我起到了重要作用。 简而言之,几乎不可能理解代码中的所有移动部分,因为它们相互纠缠在一起,特别是如果您是Swift的新手。

刚开始时,仅接受原样可能会更有帮助。 让我们以UITableView为例。 当我第一次研究该概念时,我意识到需要设置UITableViewDelegate和UITableViewDataSource才能使其按我设计的方式工作,然后我偏偏于Swift如何将委托与表视图挂钩。 该部分实际上是协议部分,与UITableView的严格工作方式无关。

如果我可以准时返回去学习UITableView,那么我将探讨一些您可能认为肤浅的方法:为了使用UITableView,我需要设置委托和数据源。 对于委派,我可以更改单元格的高度或从用户选择特定单元格时回叫。 关于数据源,这全都与馈入表视图的数据有关。

然后,当您对它的工作方式更加满意时,您可能会进一步了解它的工作方式。

故事板与代码

如果您已经阅读了有关iOS开发的足够文章,那么我敢打赌您偶然发现了一篇有关哪种方法更好地创建用户界面的文章。 我认为,您需要学习它们两者。

每个公司和每个开发人员在这件事上都有自己的品位,但我确实认为,如果您刚刚开始学习故事板,则应该使用故事板。

每当您执行某项操作时,它会更加直观且更容易看到视觉变化。 而且,您甚至可能不知道如何使用每个UI组件。 在开始创建所有代码之前,请充分熟悉所有常见的组件和自动布局。
如果您通过程序化UI达到了这一目标,请找出何时一件事情比另一件事更有利,以及它如何比另一件事更好。 到了必须在代码中创建自定义UI的时候,就好像您正在大量使用情节提要一样。

了解软件设计模式

到您熟悉Swift时,您会意识到仅仅使它起作用还不够。 您需要考虑应用程序的维护方面,在代码库中添加功能相对容易吗? 发现错误后修复它是否容易? 单元测试容易吗?

当您使用大型代码库并且结构不合理时,您将发现进行更改或在此基础上添加其他功能非常困难。 它将到达您进行更改但不确定是否会对代码中的其他地方产生任何副作用而导致另一个错误的地步。

那就是设计模式发挥作用的时候。 这与我们如何构造代码有关。 它的范围很广,从MVC,MVVM,VIPER到RIBS。

尝试学习不同的设计模式,并将其应用到您的代码库中进行练习。 它将使您深入了解应考虑哪些因素以使代码库更好。

最后但并非最不重要的一点是,让自己接触与iOS开发相关的任何事物

换句话说,让自己沉浸在iOS世界中。 收听iOS播客,在youtube上观看iOS视频,阅读无数的iOS博客等等。
能够不了解这里和那里的某些部分是可以的,但是这会使您进入学习的心态并开始前进。

在我踏入iOS行业之前,我希望有人告诉过我这些东西。 在进入我的第一份iOS工作之前,我一直在认真研究iOS开发约9个月。 如果您目前感到不知所措和疲惫,请不要放弃! 你能行的。

如果您对iOS开发有任何疑问,请随时在Twitter或Instagram上发表评论或DM me。

感谢您的时间!