iOS RubyMotion: UITableView с переменной экземпляра

Используя RubyMation для написания TableView, у меня есть следующий код. DataSource — это другой класс. Следующий код работает нормально.

Но сначала я не использовал переменную экземпляра для @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

конец


person JerryWho    schedule 28.04.2013    source источник


Ответы (1)


Я думал, что причина такого поведения что-то с сборкой мусора. Поэтому я погуглил и нашел инициализацию объекта в RubyMotion, что подтверждает мою догадку. Мне кажется это разумным...

person JerryWho    schedule 28.04.2013