BubbleWrap RSSParser到TableView

时间:2014-04-09 01:49:21

标签: ios uitableview rubymotion

我正在使用RubyMotion,BubbleWrap :: RSSParser和ProMotion。我的目标是使用BubbleWrap :: RSSParser读取一个RSS源,以流行一个TableView。

我有以下设置:

def on_init
  @data = []
end

def table_data
  [{
    title: "",
    cells: @data
  }]
end

def on_load
  @data = []
  feed = BW::RSSParser.new("URL")
  feed.parse do |item|
    @data << item.to_hash
  end
  @data
end

出于某种原因,@data数组是nil,但是当我p item.to_hash时,哈希就会正确打印到控制台。

有谁知道为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

我认为这可能是因为RSSParser是一个异步请求。在请求完成之前,您可能会将@data清空。

编辑:从BubbleWrap docs,您可以为解析器设置委托。像

这样的东西
feed_parser = BW::RSSParser.new("http://feeds.feedburner.com/sdrbpodcast")
feed_parser.delegate = self 
feed_parser.parse do |item|
  @data << item.to_hash
end

def when_parser_is_done
  table_data
end