kebabTiger
kebabTiger

Reputation: 652

Deallocating an object's properties in Objective-C

I currently have a header that displays a name, time, and a couple of buttons. This header should only appear if an appointment is selected in a dashboard, which is irrelevant here. However, once i logout and log back in, with no patient selected, the header view is displayed. I think this is because I did not deallocate the appointment object, and i'm not sure how to do that (i'm new to iOS programming).

Here's my code:

So I have the interface

@interface DashboardVC : CommonVC <UIActionSheetDelegate, HeaderViewDelegate, PracticeServiceDelegate> {
    IBOutlet HeaderView *_headerView;
}

And inside the HeaderView object i have these properties:

@property (strong, nonatomic) CCAppointment *appointment;
@property (strong, nonatomic) IBOutlet UIButton *backButton;
@property (strong, nonatomic) IBOutlet UIView *currentPatientView;
@property (strong, nonatomic) IBOutlet UIImageView *avatarImageView;
@property (strong, nonatomic) IBOutlet UILabel *patientNameLabel;

I then, in dashboard VC, want to deallocate, but i'm not sure how... this is what i have:

- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

How do I deallocate the properties so that the headerVIew does not show up?

Upvotes: 1

Views: 504

Answers (1)

Ptbaileys
Ptbaileys

Reputation: 41

if you want to destroy _headerView try:

[_headerView removeFromSuperview];
_headerView = nil;

Upvotes: 2

Related Questions