开发者

Execute a function just after the view loads, iphone

开发者 https://www.devze.com 2022-12-21 20:43 出处:网络
I am creating a tabbar application. One of the tabs is for an rss feed, which is a navigation application. but when i click the tab bat button, it is taking a while to load the view of that tab. It is

I am creating a tabbar application. One of the tabs is for an rss feed, which is a navigation application. but when i click the tab bat button, it is taking a while to load the view of that tab. It is because the application is waiting for the feed to be loaded from the server. Is there any wa开发者_开发技巧y to load the view before the loading of that feed takes place. As of now, i'm giving the request in the viewDidLoad method. Thats what is creating the problem. To which part shall i move the code so that the view is loaded instantaneously when clicking the tabbar button.


I recommend this great article on this subject on iCodeBlog, it's a very elegant way of doing this. If you submit your rss feed loading as an NSOperation, it will take place nicely in the background without blocking your main thread.


use:

[self performSelector:@selector(performRSS:) withObject:<nil afterDelay:0.3f];

or

[NSThread detachNewThreadSelector:@selector(performRSS:) toTarget:self withObject:nil];

and place RSS feed related code in a separate function named "performRSS".


I also think that the problem is more that you don't use the HTTP request asyncronously (as Apple recommends). See this document. http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html

It worked for me in my applications.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号