RSS feed

Nutsmuggling

viewWillAppear: not being called inside a UINavigationController

I just stumbled on a small problem that gave me a great headache. I changed the view hierarchy to implement flipping preferences on the back of my App’s main view. Accordingly, I had to move some stuff out of the nibs and into the code. Iin other words, some heavy refactoring, and without testing (I know, bad bad me).

So basically I now have a root UIViewController which has a UINavigationController as a subview; this, in turn, loads a number of UIViewControllers to navigate my items hierarchy.

Today, while working on cosmestic/usability improvements, I realised that something was definitely not working. When moving back and forth in my items, data were not refreshed. This pointed to one culprit, viewWillAppear not being called in the UIViewControllers.

After some googling I found out that if you add a UINavigationController as a subview of a UIViewController subclass, you must explicitly call its viewWillAppear method from its container; otherwise, they won’t be called, and when moving back and forth in the navigation tree, your UIViewControllers’ viewWillAppear: methods won’t be called.

It’s quite simple; assuming that projectNavigationController is a navigation controller added as a a subview of this UIViewController subclass, just make sure you add this simple call:

-(void)viewWillAppear:(BOOL)animated { 
	[super viewWillAppear:animated];
	[projectNavigationController viewWillAppear:animated];
}

Of course the same applies to your other viewWill/Did methods

-(void)viewWillDisappear:(BOOL)animated { 
	[super viewWillDisappear:animated];
	[projectNavigationController viewWillDisappear:animated];
}
-(void)viewDidAppear:(BOOL)animated { 
	[super viewDidAppear:animated];
	[projectNavigationController viewDidAppear:animated];
}
-(void)viewDidDisappear:(BOOL)animated { 
	[super viewDidDisappear:animated];
	[projectNavigationController viewDidDisappear:animated];
}

It’s quite simple, but wasn’t obvious for me at first.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Google
  • Technorati
  • StumbleUpon
  • Furl
  • Reddit

64 responses to “viewWillAppear: not being called inside a UINavigationController”

  1. Lovedeity says:

    I have the exact same problem. Mine is a little more insidious.

    UIViewController <- top level, its view is the only window subview

    UITabBarController <- its view is the only subview of the top level UIViewController view

    UINavigationController <- inside one of the tabs

    No matter what I’ve tried, I cannot get the UINavigationController to send its messages. Most likely because the UITabBarController doesn’t send its messages either. Evil evil evil.

    …any chance you found a way around that one?

  2. Davide says:

    Lovedeity, I didn’t have the chance to try something like your hierarchy, but Iwould say that you need to have the root controller forward the calls to the tab bar controller, and the tab controller forward the call to the navigation controller.
    So you should include the code I’ve shown both in the root controller and in the tab bar controller. Have you tried something like this? Davide

  3. Lovedeity says:

    I’m pretty sure I tried that, yeah.

    My alternative solution is to just start out with the UITabBarController as the subview of the main window. Then whenever I need to show the flipside, I remove that view from the window, add that view as the subview of my flipper controller, add the flipper view to the window, then perform the flip. Not as elegant as I’d like, though.

  4. Davide says:

    Well, if it does the job :)
    Very strange though, just the fact of having to pass these will/did appear calls exlicitly seems weird to me, but I am not a seasoned enough cocoa programmer, I can’t give an informed judgement. If anyone has a comment on my or lovedeity’s issue, please leave a comment .

  5. Rodrigo says:

    Hi,

    I had exactly the same problem. UITabBarController does not dispatch the calls to the view controllers it contains. I am testing this on iPhone OS 3 beta 2.

    I fixed it by creating a private category of UITabBarController. Create a new category of UITabBarController and implement the viewWillAppear, viewWillDisappear, etc:

    @implementation UITabBarController (Private)

    • (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; for (UIViewController *viewCtrl in self.viewControllers) { [viewCtrl viewWillAppear:animated]; } }

    @end

  6. Things that were not immediately obvious to me » Blog Archive » viewWillAppear says:

    [...] here [...]

  7. Henry Müller says:

    Many thanks! I surfed through many forum and blog posts befor i found your solution. Sometimes such basic things are hard to find…

  8. Matt Thomas says:

    Thanks! This was driving me nuts but it fixed the issue!!!

  9. Justin Anderson says:

    You can also set your root UIViewController as the UINavigationController’s delegate and implement UINavigationController’s delegate method -navigationController:willShowViewController:animated: in your UIViewController. e.g.

    • (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { [viewController viewWillAppear:animated]; }
  10. Colonel Nikolai says:

    I’ve had a similar problem but it’s kind of the inverse.

    I have a Navigation-based application setup with the AppDelegate pushing a Navigation Controller that has a UITableView as a sub-view of that. This then pushes more views to the nav controller. Now my problem is that the SUB views are getting the orientation change events no problem, but the root Table View controller NEVER gets them.

    Your advice probably translates to my set up, but I can’t figure out how. What am I not getting?

  11. Dustin Clark says:

    Word to the wise…do not use a root view controller and add views to it like so:

    [rootViewController.view addSubview:secondViewController.view];

    Where second view controller is a view controller, navigation controller, or a tab bar controller. Bottom line, the only place you should use addSubview on on a view controllers view should be [window addSubview:viewController.view]; You’ll be writing hacks and workarounds throughout your app to keep it working…and those aren’t guaranteed to work in the next OS release…

    If you must use a root view controller because you dynamically determine your main application view controller (like I do), use [rootViewController presentModalViewController:secondViewController animated:NO]; Since you’re not animating it, it will appear when the app loads and you’ll never see the root view controller’s view. If you want to flip the second view controller in (like the original post), just present another modal on top with the desired animation….or, wrap presentModal..animated:NO with UIView animations.

  12. Samiq says:

    This one was really tricky, thanks for the heads up. This seems like a big bug from apple… but oh well that’s what this trials and errors are for.

    thanks!

  13. Corprew Reed says:

    If you set the UINavigationControllerDelegate to some random object (like the navigation view controller) and then add this method:

    • (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated { if ([viewController respondsToSelector:@selector(viewDidAppear:)]) { [viewController viewDidAppear:animated]; } }

    It will do what you expect.

  14. Brinley Ang says:

    Thanks, this saved me a load of headaches.

    Anyway, your comments template has a formatting error while appending nofollow rel tag to urls in comments.

  15. Poxi says:

    Thanks a lot. it did work well. you rescue me

  16. MooCow says:

    I stumbled upon this today and was grateful for your post outlining the fix. It’s a bit naff that it doesn’t just work – the framework shouldn’t need plumbing like this.

  17. Ben says:

    Thank you for the clear and succinct explanation. Wish I’d found this post earlier!

  18. Glasswing says:

    You rock! You saved me days of fighting with this issue. Thanks so much for the information. Fixed my problem immediately!

  19. RyanJM says:

    Thank you! I agree with everyone else, this would have taken me much longer than 30 minutes to figure out. I just implemented the delegate method and it works like a charm.

    • (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { [viewController viewWillAppear:animated]; }
  20. RyanJM says:

    Corprew Reed had a good point that I missed. You should do a respondsToSelector: test first.

  21. Davide says:

    Thanks to all the folks for your feedback. I am happy this short post saved ye some time. BTW this post is quite old, I can’t be sure it applies also to the lastest SDKs…

  22. Carlos says:

    Hey all

    Developing on iOS 4.1 and can confirm all these issues still present if you don’t wire up your view hierarchy right.

    For me, Dustin Clark’s comment (#11) was the best advice and saved me hours – THANK YOU!

  23. Peter says:

    Folks, this is not a bug!

    Apple explicitly says that the concept of having couple of subclasses of UIViewControllers encapsulated is not suggested. Just check the documentation (View Controller Programming guide):

    “Each custom view controller object you create is responsible for managing exactly one screen’s worth of content. The one-to-one correspondence between a view controller and a screen is a very important consideration in the design of your application. You should not use multiple custom view controllers to manage different portions of the same screen. Similarly, you should not use a single custom view controller object to manage multiple screens worth of content.

    Note: If you want to divide a single screen into multiple areas and manage each one separately, use generic controller objects (custom objects descending from NSObject) instead of view controller objects to manage each subsection of the screen. Then use a single view controller object to manage the generic controller objects. The view controller coordinates the overall screen interactions but forwards messages as needed to the generic controller objects it manages.”

    So the “official” solution would be if you used a singel UIViewController subclass as the root controller and subclass all your “inner” view controllers from NSObject.

    Actually this problem (subclassing from UIViewController vs. NSObject) keeps me suffering for weeks and can’t find the right answer. Almost everyone subclasses the inner controllers from UIViewController however Apple states not to do so…

  24. Davide says:

    Peter, thanks for the info ,I guess I will go back to the docs and read more carefully. I seem to remember that my approach wasn’t that far fetched, but you probably ahve a point. At point (after 18 months) I hardly remember where in my app this caused a problem :)

  25. canny says:

    Has anyone got a working solution for the setup that Lovedeity highlighted…

    UIViewController > UITabBarController > UINavigationController > UIViewController

    ?

  26. canny says:

    to add to the confusion, the above is at the back of a Utility-style flip view.

  27. Chinmay says:

    Your headache saved me a lot of mine!

    Thanks a lot! you rock!

  28. drine says:

    I already had read something like that but totally forgot it ! So thank you very much, helps a lot !

  29. A few quick iOS tips says:

    [...] — it turns out that it wasn’t being called at all. A quick net search turned this up — basically viewWillAppear: doesn’t get automatically called (likewise for the over [...]

  30. Judson Kallal says:

    We are a group of volunteers and starting a new scheme in our community. Your site offered us with valuable info to work on. You have done a formidable job and our whole community will be grateful to you.

  31. Marco Papa says:

    After trying all the various solutions described here, with various degree of success, I found a 1-LINE-SOLUTION in another thread online:

    [parentViewController.view addSubview:[subViewController view]]; [subViewController viewWillAppear:NO]; // <– ONE LINE fix

    That’s it. After I added that line, all the viewWillAppear, viewWillDisappear, viewDidAppear and viewDidDisappear get propagated through navigation, tabBar and children views.

  32. HoaNV says:

    hi All! You can trie that

    • (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; UINavigationController *navController =[self.tabBarController.viewControllers objectAtIndex:appDelegate.indexOfTab]; [navController viewWillAppear:animated]; NSLog(@”viewWillAppear:(BOOL)animated”); }

    -(void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; UINavigationController *navController =[self.tabBarController.viewControllers objectAtIndex:appDelegate.indexOfTab]; [navController viewDidAppear:animated]; //[self.navigationController viewDidAppear:animated]; NSLog(@”viewDidAppear:(BOOL)animated”); } -(void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; [self.navigationController viewDidDisappear:animated]; NSLog(@”viewDidDisappear:(BOOL)animated”); }

  33. News says:

    Quick news on News is just here.

  34. kjfksdhfjHH says:

    เพาะกาย

  35. telecom expense management says:

    Great – I should certainly pronounce, impressed with your website. I had no trouble navigating through all tabs as well as related info ended up being truly simple to do to access. I recently found what I hoped for before you know it in the least. Reasonably unusual. Is likely to appreciate it for those who add forums or something, web site theme . a tones way for your customer to communicate. Nice task.

  36. Submit Article says:

    Incredible quest there. What happened after? Thanks!

  37. Ike Winrow says:

    We would also like to say that most individuals that find themselves without having health insurance are normally students, self-employed and people who are without a job. More than half on the uninsured are really under the age of Thirty five. They do not sense they are looking for health insurance because they’re young plus healthy. Their particular income is usually spent on homes, food, plus entertainment. Most people that do go to work either full or part time are not presented insurance through their jobs so they get along without as a result of rising tariff of health insurance in america. Thanks for the tips you reveal through your blog.

  38. cool chandeliers says:

    forty individuals that function with all of the services Oasis provides, and he is really a really busy man, he

  39. Dating Game Theme Song says:

    Thanks for one’s marvelous posting! I really enjoyed reading it, you happen to be a great author. I will make sure to bookmark your blog and definitely will come back in the foreseeable future. I want to encourage yourself to continue your great work, have a nice day!

  40. Wedding says:

    I am not sure where you are getting your info, but great topic.

    I needs to spend some time learning much more or understanding more. Thanks for wonderful info I was looking for this info for my mission.

  41. Frank says:

    Well If you live in the Dayton Area Check https://daytondonations.com

  42. kocaeli says:

    The Zune concentrates on being a Portable Media Player. Not a web browser. Not a game machine. Maybe in the future it’ll do even better in those areas, but for now it’s a fantastic way to organize and listen to your music and videos, and is without peer in that regard. The iPod’s strengths are its web browsing and apps. If those sound more compelling, perhaps it is your best choice.

  43. Anthony says:

    There is a Cherry-Almond Smoothie in the book will be Gaga s dangerous dieting tips to lose weight habits. Lastly, when trying to conceive and throughout the pregnancy dieting tips to lose weight is a good starting point. For the proper absorption of zinc, you must be on the diet. Invariably though, the diets fail people and they are not all the same.

  44. Nadia says:

    Yes! Finally someone writes about advertisement.

    my web page: Mihran Kalaydjian (Nadia)

  45. Binary App Dev: Apps | viewWillDisappear not called when calling popToRootViewControllerAnimated says:

    [...] If using a UINavigationController as a subview, you must call view[Will/Did]Disappear yourself [...]

  46. viewWillDisappear not called when calling popToRootViewControllerAnimated - Objective-C Solutions - Developers Q & A says:

    [...] If using a UINavigationController as a subview, you must call view[Will/Did]Disappear yourself [...]

  47. Guaranteed seo says:

    I’m not sure where you are getting your information, but great topic. I needs to spend some time learning more or understanding more. Thanks for excellent information I was looking for this info for my mission.

    my web page; Guaranteed seo

  48. Summer says:

    Greetings from Los angeles! I’m bored to tears at work so I decided to check out your website on my iphone during lunch break. I really like the knowledge you present here and can’t wait to take a look when I get home. I’m amazed at how fast your blog loaded on my phone .. I’m not even using WIFI, just 3G .. Anyhow, good site!

    My weblog :: Mihran Kalaydjian [Summer]

  49. Ali Turab Gilani says:

    The correct way for View Hierarchy calling in iOS 5 or above is to use view controller containment and using

        [self addChildViewController:child];
        [child didMoveToParentViewController:self];
    
  50. weblink says:

    Great beat ! I wish to apprentice even as you amend your web site, how could i subscribe for a blog website? The account aided me a applicable deal. I had been tiny bit familiar of this your broadcast offered shiny clear concept

    My weblog: weblink

  51. Corina says:

    Generally I don’t read post on blogs, however I wish to say that this write-up very pressured me to take a look at and do so! Your writing taste has been surprised me. Thanks, very nice article.

    my web-site social media – Corina -

  52. Bobbie says:

    Fabulous, what a web site it is! This blog provides useful data to us, keep it up.

    Here is my website :: work from home (Bobbie)

  53. Tammi says:

    It’s hard to find well-informed people in this particular topic, but you sound like you know what you’re talking about! Thanks

    my web-site … web development (Tammi)

  54. Violet says:

    That is really interesting, You’re an overly professional blogger. I have joined your rss feed and sit up for in search of more of your fantastic post. Additionally, I have shared your site in my social networks

    Here is my blog post – home based business (Violet)

  55. Everette says:

    Hello I am so grateful I found your site, I really found you by error, while I was looking on Bing for something else, Anyways I am here now and would just like to say kudos for a incredible post and a all round entertaining blog (I also love the theme/design), I don’t have time to read it all at the minute but I have saved it and also included your RSS feeds, so when I have time I will be back to read more, Please do keep up the great jo.

    Feel free to surf to my homepage – homepage (Everette)

  56. Keymnmayora says:

    [url=http://www.beyond6-sigma.com][b]uggs outlet store[/b][/url]this convert article I also watched a resource box before; He was great singer all around the foreigners’ eyes, they were crazy as well as him,but take heart that person didnot be popular throughout the his mother land; Don’t give up easily for going to be the dream,a resource box are shinning someday;[url=http://www.beyond6-sigma.com][b]cheap uggs outlet[/b][/url] [url=http://www.85ccc.info][b]uggs outlet[/b][/url]Film has been more and more people slightly like a resource box he or she can bring our way of life tremendous spiritual shock. Or depressed,or at least stimulus,or otherwise helpless, as about whether or not a number of us have also gone all over the their lives.[url=http://www.beyond6-sigma.com][b]uggs for kids[/b][/url] [url=http://www.85ccc.info][b]discount uggs[/b][/url]Spam can be really irritating.a number of us be able to get slightly like 300-400 dud comment messages a multi function day after we were featured on BBC last year :( We haven’t used turning off words of flattery after a certain period as all your family propose being very careful whilst Kristi ? I think that would certainly definitely be of assistance considering the fact that a lot of all of our spam seem to understand more about appear everywhere over the older posts.[url=http://www.85ccc.info][b]ugg outlet[/b][/url] [url=http://www.beyond6-sigma.com][b]cheap uggs outlet[/b][/url]Someone said that going to be the far better way for more information regarding how to lose some form of family member or friend is that to explore lend money; It sounds an all in one bit reasonalbe to most of these amplitude.[url=http://www.agiosgeorgiossilikou.org][b]uggs official outlet[/b][/url]

  57. twidsAtmods says:

    [url=http://www.itosmosys.com][b]ugg outlet online[/b][/url]This all over the the majority of the cases means that all your family members really a little as though your pet and all your family members are prepared to slightly like to learn more about come out with something at least do nothing more than because they are acquaintances to have him or her You know what they say ‘if all your family members must not at all keep upward your another one loan payments, your a completely new one could possibly be the case at risk’ To in point of fact enjoy a going to be the city,but bear in mind,a minumum of one needs to learn more about know exactly how a resource box came when getting I’m ach and every excited for more information about get acquainted with them and schedule an appointment with them, and finally bring them a few of these happiness as part of your form of music[url=http://www.yforum.com/cp/index.aspx][b]uggs outlet[/b][/url] [url=http://www.riosarts.com][b]ugg outlet[/b][/url]With an all in one not too much be of assistance,a handful of the selecting tools, and the are looking for for more information regarding deliver the results you’ll are the type that anything will be the you can possibly imagine Nevertheless,bells and whistles a little as though personal trainers, bodyguards, and fashion stylist aren’t able thought out strategies determined attributed to understand more about going to be the personalized aspect of going to be the servicesA thirdly impingement virtually can exactly how along with throwing as the arm is always that cocked back enchanting going to be the throw and going to be the edge having to do with the glenoid socket can be the case forced repeatedly against the a lesser number of surface about going to be the supraspinatus tendonIraqi secretary! morning, Iraqi secretary having to do with each department for more information on are engaged once but also to learn more about inquire about going to be the same thing to understand more about different people[url=http://www.yforum.com/cp/index.aspx][b]uggs outlet[/b][/url] [url=http://www.riosarts.com][b]cheap uggs outlet[/b][/url]” Does they what better way safe with your framework of psychotherapy?! ! !”Heaven and Earth conceal that all of these cannot be the case revealed”as tall as is because his enigmatic response How did she are aware of that that? Before I had going to be the chance for more information on bounce back,going to be the fortune teller went all around the to learn more about make me aware that I is the fact that practically never be able to get back to have kale They tossed her weighted balls,that she happily rejuvinates Who knows? Some about that amazing features you could can be bought upon handy also sidebars or at best gorgeous honeymoons as well later as part of your words What all your family are going for more information regarding need to panic about at this time rarely can only be done but take heart it does the job a little as though magic because she not only can they want to call you Always adapt to up promptly[url=http://www.yforum.com/cp/index.aspx][b]uggs outlet[/b][/url]

  58. expongoro says:

    ub michael kors bag ig michael kors bag rz michael kors wallet sl longchamp le pliage australia ea longchamp australia online fn longchamp australia vp hogan italia sr hogan italia ap hogan milano mc louis vuitton stores in india zq louis vuitton india zl louis vuitton in india dq gucci india office gm gucci india website wp gucci india jv sito ufficiale hogan mg sito ufficiale hogan nm sito ufficiale hogan kr michael kors watch australia bx michael kors watches australia zj michael kors australia dq lv dubai hx louis vuitton in dubai lj louis vuitton dubai hd gucci hotel dubai ku dubai gucci qx gucci dubai mall pt louis vuitton online store australia hk lv australia rh louis vuitton online store australia wc michael kors handbags ey michael kors singapore zc michael kors hamilton et louis vuitton barcelona eg louis vuitton barcelona xs bolso louis vuitton zq lv wallet singapore rd lv singapore iw lv singapore price ka louis vuitton singapore price list in louis vuitton singapore price list bn louis vuitton singapore price list is michael kors in dubai un michael kors dubai mall fp michael kors in dubai dg louis vuitton suisse dc louis vuitton suisse my louis vuitton sac no louis vuitton mexico gp bolsas louis vuitton hm bolsas louis vuitton tr louis vuitton thailand pk louis vuitton thailand ab lv shop thailand qu burberry singapore price list lz burberry bags singapore zx burberry singapore price list ax gucci singapore paragon aw gucci sale singapore tr gucci singapore price list ax nike portugal mm loja nike zb chuteiras nike vh longchamp singapore price list nx longchamp singapore price list vt longchamp singapore price list kk louis vuitton australia prices lv louis vuitton australia prices qm louis vuitton australia online qt louis vuitton portugal ef louis vuitton portugal tw malas louis vuitton

  59. expongoro says:

    cv michael kors singapore sy michael kors wallet nz michael kors hamilton ol carteiras louis vuitton cr malas louis vuitton nr carteiras louis vuitton ww lv australia pd lv australia fy louis vuitton australia sw tenis louis vuitton of louis vuitton mexico dh tenis louis vuitton qr hogan scarpe sito ufficiale tl sito hogan dg sito ufficiale hogan bq burberry singapore sale 2013 fe burberry bags singapore ye burberry wallet singapore hw longchamp le pliage australia vr longchamp australia price mv longchamp australia ij michael kors bags dubai tf michael kors dubai mall sd michael kors dubai mall kn bolsos louis vuitton pm louis vuitton bolsos hn louis vuitton madrid ny louis vuitton handbags australia kp louis vuitton handbags australia xx lv bags australia np louis vuitton india pq louis vuitton stores india lm louis vuitton in india aq gucci india office au gucci india vg gucci stores in india re lv shop thailand ew lv shop thailand ei louis vuitton thailand price nz louis vuitton singapore website pe louis vuitton singapore price list 2013 yw lv singapore dj michael kors bag gr michael kors purses zd michael kors wallet gm lv singapore qk lv singapore price zw lv singapore price rj long champ singapore gv longchamp singapore price list dc longchamp singapore price xb gucci singapore qs gucci singapore price list ke gucci singapore rw hogan italia jt hogan napoli xg hogan napoli fj michael kors watches australia st michael kors handbags australia va michael kors watch australia lu sacs louis vuitton hu sacs louis vuitton ex sacs louis vuitton ta louis vuitton in dubai ct louis vuitton dubai gt louis vuitton dubai mall kj tenis da nike rb tenis da nike rt chuteiras nike sl gucci dubai zt gucci in dubai zw gucci dubai

  60. AddenSesy says:

    [url=http://www.sperryextranet.com/mkus.html][b]michael kors handbags[/b][/url]Fantastic goods both to and from your family man. Ive spend some time studying your gadgets ahead such as and youre do nothing more than as if you do amazing. I enjoy a what youve utilize them and achieve the right choice outlined in this article adore what youre stating and going to be the way your family say aspect You make a resource box entertaining and all your family for example before time runs out manage for more information regarding be of assistance draw attention away from a resource box wise. I cant wait to educate yourself regarding are concerned through additional back and forth from all your family members That will be the really an a good reason weblog.[url=http://www.nomembershiprequired.com/mk.html][b]michael kors[/b][/url]

  61. grooxyerafemo says:

    [url=http://www.safaritoursmiami.com/mk25.html][b]cheap michael kors outlet[/b][/url]So we in the event that have the desired effect together to share good article, I learn a multi functional chunk of property about more costly back and forth from going to be the in america knowledge,i’m going to are aware of that the high quality not objective too wealthy families, as further as all your family have an all in one pursuit, as some distance as all your family members have an idea,you can are worried for more information about get involved with.[url=http://www.nomembershiprequired.com/mk.html][b]michael kors outlet[/b][/url]

  62. youtube.com says:

    Hola! I’ve been following your blog for some time now and finally got the bravery to go ahead and give you a shout out from Lubbock Tx!

    Just wanted to mention keep up the fantastic work!

  63. video games says:

    Hi, i think that i saw you visited mү ѡеbsite so i came to “return thhe favor”.I’mattempting to find thibgs to еnhance my website!I suppose its ok to use some of your ideas!!

    Аlso visit my homepage: video games

  64. wildwood365.me says:

    What a information of un-ambiguity and preserveness of precious know-how concerning unpredicted feelings.

    Review my web-site: wildwood365.me

Leave a Reply