2014-04-09 3 views
0

RubyMotion, BubbleWrap :: RSSParser 및 ProMotion을 사용하고 있습니다. 제 목표는 인기있는 TableView에 BubbleWrap :: RSSParser를 사용하여 RSS 피드를 읽는 것입니다. @data 배열 nil이다, 어떤 이유BubbleWrap RSSParser를 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 

,하지만 난 콘솔에 올바르게 p item.to_hash 해시 인쇄를 수행 할 때

나는 다음과 같은 설정이있다.

왜 이것이 작동하지 않는지 아는 사람이 있습니까?

답변

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 
관련 문제