【问题标题】:Apple's UIKit experience versus .net experienceApple 的 UIKit 体验与 .net 体验
【发布时间】:2010-08-19 14:07:01
【问题描述】:

我是 iPhone 编程的新手。来自.net 背景,我发现 Apple 的 UIKit 真的很难使用。例如,创建一个简单的静态表视图需要我实现很多数据源和委托方法。在 .net 中,您只需在 Visual Studio 中添加项目并设置它们的属性,就是这样!随着我的应用程序变得越来越复杂,并且当我开始向表格单元格添加字段和其他控件时,事情真的变得失控了!

我在这里遗漏了什么,还是对你们所有人来说都是一样的混乱?你们有没有我不知道的标准方法或工具?非常感谢您的反馈。

【问题讨论】:

  • 这更像是一个咆哮而不是一个问题。
  • 别误会布拉德。我实际上是一名 Apple 皈依者,他决定离开 MS 平台并为 OS X 和 iDevices 进行开发。我很沮丧,作为客户我喜欢的品牌没有达到我作为开发人员的期望。也许我还太新,无法判断,如果我冒犯了你们,我很抱歉。
  • 您的核心问题是“是否存在不需要数据源委托的 UITableView 的替代实现?”是有效的,但是像“我发现 Apple 的 UIKit 使用起来真的很荒谬”这样的陈述是不必要的,并且会分散注意力。后者既是主观的又是争论的,并且可能引起本网站真正不适合的扩展讨论。
  • 我不想把你赶走,只是这个网站的运作方式与你的标准论坛不同(我相信这就是它如此成功的原因)。
  • 你说得对,布拉德,我已经从问题中删除了这个词。感谢您的建议。

标签: iphone iphone-sdk-3.0 uitableview


【解决方案1】:

答案是 Apple 的开发工具(在我看来)落后于 MS 大约 4-6 年。我估计我 15-20% 的编码时间都浪费在了开销上,添加一个属性需要在不同的地方写大约 6 行不同的代码,你必须编写代码来从任何 UI 对象中捕获“事件”,你必须记住把它全部连接到 IB 中。新的 XCode 4.0 可能会解决其中的一些问题,至少它将集成 IB 和 XCode。您还会发现调试器与 .NET 中的调试器相比非常糟糕。

从好的方面来说,Cocoa 和相关框架都经过深思熟虑,而且总体上相当完整。

底线,没有捷径。握住你的鼻子,很快你就会习惯它。 (在有人指责我的忠诚度被误导之前,我是一名 Apple 粉丝,MS 的诋毁者。)

【讨论】:

  • +1。编写 Cocoa 代码有许多令人讨厌的部分,我同意调试器有一些明显的可用性缺陷。但我也同意这些框架是经过深思熟虑的——在大多数地方都非常优雅——所以一旦你“明白”了,就很容易理解发生了什么以及为什么。
  • 当 GDB 被 LLDB 替换时,Xcode 4 中的 bugger 问题可能会得到解决。
  • 我认为 Interface Builder 作为一种工具,比任何其他 GUI 构建工具都要早 4-6 年。它只是一种更好的 GUI 构建工具方法,与 XCode 的集成只会让它变得更好……真正需要从 Mac 引入的东西是能够将您自己的自定义控件添加到 IB。
【解决方案2】:

我个人觉得 XCode 更易于使用。但是,我从来没有真正喜欢过 .NET/VS,即使它是我的工作。

我认为这归结为您的习惯、来自哪里以及您的期望。当你期待一件事,得到完全不同的东西时,你的第一印象是“这已经坏了”。这是否真的并不重要。

此外,您会发现随着它的发展,即从 3.0 sdk 到 4,Apple 学到的许多捷径和经验都融入了新版本的 XCode。仅仅升级到 Objc 2 就让我的开发周期更快了,更不用说其他改进了。

我猜底线是,它确实变得更好更容易了。

【讨论】:

    【解决方案3】:

    我会说,对于静态表,您不需要太多暗示。

    与 .net 表相比,中等复杂度肯定会更多,但是当您仍然想要更复杂时,您会发现 c# 变得越来越难以管理。

    我两者都做。正如你所说,如果你想一起 bash 一些东西,c# 更容易。如果你想要更多地控制它,UIKit 更容易。 我认为你只是在体验它是非常不同的。如果你来自 c#,你会发现它更难,如果你来自 OSX,你会发现 c# 更难。坚持下去,两者都会相当容易。但是,如果它失控了,那不是 UIKit 的问题!

    【讨论】:

      【解决方案4】:

      您可能会发现 GenericTablesViews 会在这方面为您提供帮助。

      Matt Gallagher 还发现,将一张简单的桌子放在一起似乎有点像工作量太大。

      GenericTableViews 将允许您快速轻松地设置使用一系列控件和自定义单元格类型的表格视图,例如开关、文本字段、按钮等。

      Furbo.org 的博客文章更详细。另外这里是source code的直接下载链接

      唯一的问题是代码有点旧,所以它仍然使用 2.x 样式的表格视图单元格。您必须更新 init 方法以使用样式而不是框架方法。应该很简单。

      【讨论】:

      • 非常感谢 Jasarien,这看起来很有趣。
      【解决方案5】:

      你为什么不使用现有的 UITableView 模板之类的东西?这些为您提供了带有表格视图的代码库,您几乎只需说“cell.text = ...”即可开始。

      一般来说,如果您更深入地了解如何使用 XCode,您的生活会轻松很多。对于属性,您可以使用自定义用户脚本为您生成属性代码,或使用第三方程序,如 Accessorizer。您还可以通过 Ctrl- 激活许多文本宏代码快捷方式。 ,您可以自己制作...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        • 2018-06-18
        • 1970-01-01
        相关资源
        最近更新 更多