This is my action UIButton:
-(IBAction)favoriteButtonPressed:(id)sender
{
if (favoriteButtonSelected == 0) {
[sender setSelected:YES];
favoriteButtonSelected = 1;
[sender setImage:[UIImage imageNamed:@"favoritedItem.png"]];
[selectedObject setValue:@"Yes" forKey:@"Favorite"];
} else {
[sender setSelected:NO];
favoriteButtonSelected = 0;
[sender setImage:[UIImage imageNamed:@"notFavorite.png"]];
[selectedObject setValue:@"No" forKey:@"Favorite"];
}
}
How to make a reference to the button in viewDidLoad? To make the following code work:
- (void)viewDidLoad
{
[super viewDidLoad];
if ([[selectedObject valueForKey:@"Favorite"] isEqual:@"Yes"]) {
[favoriteButton setImage:[UIImage imageNamed:@"favoritedItem.png"]];
[favoriteButton setSelected:YES];
favoriteButtonSelected = 1;
} else {
[favoriteButton setImage:[UIImage imageNamed:@"notFavorite.png"]];
[favoriteButton setSelected:NO];
favoriteButtonSelected = 0;
}
}
EDIT FOR PROGRESS:
Now I did like this: Ctrl-drag from UIButton to ViewController in Assistant Editor. Connection: Outlet, name: favoriteButton, type: UIButton, storage: weak. But errors still there. + error for synthesize & error in viewDidUnload.. suggestion?
The Assistant Editor header for View Controller with the added property from Ctrl-drag:
@interface DetailViewController : UIViewController {
IBOutlet UIScrollView *viewScroller;
}
@property (nonatomic, strong) IBOutlet UILabel *mylLabel;
@property (nonatomic, strong) NSString *selectedObj;
@property (strong, nonatomic) NSArray *detailsDataSource;
@property int detailIndex;
@property (weak, nonatomic) IBOutlet UIButton *favoriteButton; //The added property
@end
Control drag from your button to the header of the viewcontroller to create a property. (You can do this while in assistant mode, second button on the top right)..
Then you can reference your button from wherever using that property