1

我正在将现有的 iOS 应用程序从 Objective-C 转换为 RubyMotion。

我遇到的第一个主要缺陷是 AppDelegate 类引用了应用程序中定义的其他类。

由于这些是在 AppDelegate 类之后编译的,因此会引发异常:

2012-06-20 13:38:03.088 myApp[3349:f803] *** Terminating app due to uncaught exception 'NameError', reason: 'uninitialized constant AppDelegate::User (NameError)

我可以通过在我的 Rakefile 中明确说明 User 类应该在 AppDelegate 类之前编译来解决这个问题,但是当您处理一个包含 30 多个类的应用程序时,这几乎不是最佳解决方案,其中许多类相互引用。

有没有更好的方法在 RubyMotion 中解决这个问题?

4

1 回答 1

5

我同意app.files_dependencies一旦你有很多类,使用这种方法可能会很麻烦。

在我的应用程序中,我更改了app.files参数,将其重新排序以将我最重要的东西放在首位(在我的情况下,是lib/我添加的文件夹):

app.files = (app.files.select { |f| f =~ /app\/lib/ } + app.files).uniq
于 2012-06-20T14:29:01.873 回答