Quicker will be very relative. (file size, number of things to search for, algorithm used, etc...) You might try a few other approaches. NSXMLParser is another one. NSRegularExpression is another. It might be more efficient to first capture all the links then parse them. But again, that's a very general statement.
To keep your UI responsive while parsing, create a subclass of NSOperation and use that operation in the background. Have the NSOperation subclass send a Notification on the main thread when complete (or for each item added to your data structure). Make your app delegate (or whatever controller is appropriate) an observer for the Notification. You can have a separate Notification for completion and leverage that to provide a progress indicator stop.
This gives you a responsive UI, callbacks and hooks to update with.