2013-04-28 1 views
1

Использование RubyMation для записи TableView У меня есть следующий код. DataSource - это другой класс. Следующий код работает нормально.iOS RubyMotion: UITableView с переменной экземпляра

Но сначала я не использовал переменную экземпляра для @dataSource - только локальную переменную. Приложение началось с нуля. Но когда я начал прокручивать приложение, он разбился.

Так почему же мне нужно использовать переменную экземпляра?

ТИА, JW

class FolderController < UIViewController 

    def viewDidLoad 
    super 

    self.title = "Folder" 

    @table = UITableView.alloc.initWithFrame(self.view.bounds) 
    self.view.addSubview @table 

    # fine 
    @dataSource = DatasourceFolder.new 
    @table.dataSource = @dataSource 

    # crashes when scrolling the tableview 
    # dataSource = DatasourceFolder.new 
    # @table.dataSource = dataSource 

end 

конец

ответ

1

Я думал, что причиной такого поведения является то, что со сбором мусора. Итак, я нашел googled и нашел Object initialization in RubyMotion, который поддерживает мои предположения. Мне кажется разумным ...