Iphone Android开发者转向iOS-我需要知道什么?

Iphone Android开发者转向iOS-我需要知道什么?,iphone,android,transition,Iphone,Android,Transition,经过几年的安卓工作,我对开始在iOS平台上开发感兴趣。在为iOS而不是Android设计/编写代码时,哪些主要的事情可能会让我感到困惑?在使用Android之后,我已经完成了一些iphone应用程序 Objective-c只是另一种语言;一点也不难学 了解iPhone内存是如何工作的。ref count和AutoreleasePools堆栈如何工作。这应该是最重要的学习 你会喜欢界面生成器的。为iPhone创建新屏幕要容易得多 iPhone版本的AndroidListView称为TableVi

经过几年的安卓工作,我对开始在iOS平台上开发感兴趣。在为iOS而不是Android设计/编写代码时,哪些主要的事情可能会让我感到困惑?

在使用Android之后,我已经完成了一些
iphone
应用程序

  • Objective-c只是另一种语言;一点也不难学
  • 了解iPhone内存是如何工作的。ref count和
    AutoreleasePool
    s堆栈如何工作。这应该是最重要的学习
  • 你会喜欢界面生成器的。为iPhone创建新屏幕要容易得多
  • iPhone版本的Android
    ListView
    称为
    TableView
    。大致相同,但需要定义一定数量的节
  • 我喜欢iPhone开发者使用委托模式的方式,我现在正在Android中使用它。注意这一点
  • 资源可以有自己的文件夹。例如:一个可绘制的可以是
    /car/model/drawable
  • 向iphone对象添加动画非常简单。您会注意到,许多方法都有最后一个参数
    BOOL animated
  • 创建自定义组件更容易
让我失去很多时间的事情:

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

我只想说,不要使用界面生成器,试着通过编码来创建应用程序
有了它,您将很容易地了解IPhone程序的构建过程

主要问题将是,目标C:每年销售应用程序所需的99美元费用-哦,我还以为是一次性的呢@赛义夫:我不太关心语言障碍,更多的是iOS SDK的结构和功能,以及它们如何影响我的应用程序的结构。不得不做一些比较大的变通,因为你需要实现的功能使用了一个私有API,苹果没有理由不记录它。此外,还有一些相对较小的不一致性,如果您遇到这些不一致性,它们会让人恼火。