我正在将现有的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中明确声明应该在AppDelegate类之前编译User类来解决这个问题,但是当你处理一个包含30多个类的应用程序时,这几乎不是最佳的解决方案,其中很多都是其他
有没有更好的方法在RubyMotion中解决这个问题?
答案 0 :(得分:5)
我同意,一旦你有很多课程,使用app.files_dependencies
方法会很麻烦。
在我的应用中,我更改了app.files
参数,重新排序以将我最重要的事情放在第一位(在我的情况下,我添加了lib/
文件夹):
app.files = (app.files.select { |f| f =~ /app\/lib/ } + app.files).uniq