Android开发人员迁移到iOS – 我需要知道什么?

经过几年的Android工作后,我有兴趣开始在iOS平台上开发。 在设计/编码iOS而非Android时,可能会让我感到惊讶的主要事情是什么?

在做Android之后我做了一些iphone应用程序。

  • Objective-c只是另一种语言; 一点也不难学。
  • 了解iPhone内存的工作原理。 引用计数和AutoreleasePool的堆栈如何工作。 这应该是最重要的学习内容。
  • 你会喜欢界面构建器。 为iPhone创建新屏幕要容易得多。
  • iPhone的Android ListView版本称为TableView 。 或多或少相同,但您需要定义一定数量的部分。
  • 我喜欢iPhone开发人员如何使用Delegate模式,我现在在Android中使用它。 注意这一点。
  • 资源可以有自己的文件夹。 例如:可绘制的可以是/car/model/drawable
  • 将animation添加到iphone对象非常简单。 你会注意到很多方法都有BOOL animated的最后一个参数。
  • 创建自定义组件更容易。

让我失去很多时间的事情:

  • 您可以将msgs发送到NIL
  • 日志不像Android那样友好。
  • 您需要将每个文件添加到项目中。 它不只是把它放在正确的地方。
  • 对env的更新意味着每次下载2GB。
  • 使用NSLog打印日志时, NSString需要使用%@ not %s
  • Xcode有一些奇怪的行为。 光标在屏幕上移动。
  • 在iPhone源代码中合并提交很难。 项目文件和xib总是会发生冲突。

我只是想说不要使用Interface Builder,尝试通过编码来创建应用程序,您将轻松捕获iPhone程序的构建过程。