class RSS
def parse(url)
@url = url
@self = self
Thread.start do
#Dispatch::Queue.concurrent.async do
@xml = NSXMLParser.alloc.initWithContentsOfURL(@url)
@xml.delegate = @self
@xml.parse
end
end
def parserDidStartDocument(parser)
@item = {}
end
def parserDidEndDocument(parser)
end
def parser(parser,
didStartElement: elementName,
namespaceURI: namespaceURI,
qualifiedName: qualifiedName,
attributes: attributeDict)
@string = ""
end
def parser(parser,
didEndElement: elementName,
namespaceURI: namespaceURI,
qualifiedName: qName)
@item[elementName] = @string
if elementName == "item"
#p @item
@item = {}
end
end
def parser(parser,
foundCharacters: string)
@string << string.strip
end
end
class AppDelegate
def application(application, didFinishLaunchingWithOptions:launchOptions)
rss = RSS.new
url = NSURL.alloc.initWithString("http://images.apple.com/main/rss/hotnews/hotnews.rss")
rss.parse(url)
true
end
end