Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 59821
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T18:03:55+00:00 2026-05-10T18:03:55+00:00

If I have something like a UILabel linked to a xib file, do I

  • 0

If I have something like a UILabel linked to a xib file, do I need to release it on dealloc of my view? The reason I ask is because I don’t alloc it, which makes me think I don’t need to release it either? eg (in the header):

IBOutlet UILabel *lblExample; 

in the implementation:

.... [lblExample setText:@'whatever']; ....  -(void)dealloc{     [lblExample release];//????????? } 
  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T18:03:56+00:00Added an answer on May 10, 2026 at 6:03 pm

    If you follow what is now considered to be best practice, you should release outlet properties, because you should have retained them in the set accessor:

    @interface MyController : MySuperclass {     Control *uiElement; } @property (nonatomic, retain) IBOutlet Control *uiElement; @end   @implementation MyController  @synthesize uiElement;  - (void)dealloc {     [uiElement release];     [super dealloc]; } @end 

    The advantage of this approach is that it makes the memory management semantics explicit and clear, and it works consistently across all platforms for all nib files.

    Note: The following comments apply only to iOS prior to 3.0. With 3.0 and later, you should instead simply nil out property values in viewDidUnload.

    One consideration here, though, is when your controller might dispose of its user interface and reload it dynamically on demand (for example, if you have a view controller that loads a view from a nib file, but on request — say under memory pressure — releases it, with the expectation that it can be reloaded if the view is needed again). In this situation, you want to make sure that when the main view is disposed of you also relinquish ownership of any other outlets so that they too can be deallocated. For UIViewController, you can deal with this issue by overriding setView: as follows:

    - (void)setView:(UIView *)newView {     if (newView == nil) {         self.uiElement = nil;     }     [super setView:aView]; } 

    Unfortunately this gives rise to a further issue. Because UIViewController currently implements its dealloc method using the setView: accessor method (rather than simply releasing the variable directly), self.anOutlet = nil will be called in dealloc as well as in response to a memory warning… This will lead to a crash in dealloc.

    The remedy is to ensure that outlet variables are also set to nil in dealloc:

    - (void)dealloc {     // release outlets and set variables to nil     [anOutlet release], anOutlet = nil;     [super dealloc]; } 
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

It is typical to have something like this in your cshrc file for setting
i have a view and i want functionality something like this.. first UITextfield is
I have something like this: myViewController = [[MyViewController alloc] initWithNibName:@MyView bundle:nil]; [mainCanvas addSubview: myViewController.view];
I have something like this: barProgress.BeginAnimation(RangeBase.ValueProperty, new DoubleAnimation( barProgress.Value, dNextProgressValue, new Duration(TimeSpan.FromSeconds(dDuration))); Now, how
I have something like this: <node TEXT= txt A /> <node TEXT= txt X
I have something like this: <div class=content> <a href=#>A</a> </div> <div class=content> <a href=#>B</a>
So I have something like this: var xmlStatement:String = xmlObject.node[3].@thisValue; What mystery function do
Is it possible to have something like a JTextArea which will color some keywords
it appears if you have something like var my_var = {foo : bar}; in
If you have something like: val myStuff = Array(Person(joe,40), Person(mary, 35)) How do you

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.