开发者

UIButton deallocated issue

开发者 https://www.devze.com 2023-02-22 20:03 出处:网络
I received this message from the debugger console : -[UIButton release]: message sent to deallocated instance 0x1836b0

I received this message from the debugger console :

-[UIButton release]: message sent to deallocated instance 0x1836b0

But I don't create UIButton programmatically, all my buttons have created in Interface Builder. Each of them are linked to a function, like this :

-(IBAction)theFunction:(UIButton *)sender;

In lot of this functions, I don't use the variable sender. I don't even try to release it. So I don't understand why my application try to release my buttons. Do I do something 开发者_运维技巧in Interface Builder to release or not my UIButton? Is it about the picture I put in the UIButton? If I use the variable (UIButton *)sender, do I need to release it? This problem stucks me because of it my application crashes.

Edit:

- (IBAction)showPopoverOverview:(UIButton *)sender {
    TouchPlanePopover *content = [[TouchPlanePopover alloc] init];
    [content setTheAlbum:@"Overview"];

    // Setup the popover for use in the detail view.
    detailViewPopover = [[UIPopoverController alloc] initWithContentViewController:content];
    detailViewPopover.popoverContentSize = CGSizeMake(600., 400.);
    detailViewPopover.delegate = self;  // Set the sender to a UIButton.

    // Present the popover from the button that was tapped in the detail view.
    [detailViewPopover presentPopoverFromRect:sender.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

    // Set the last button tapped to the current button that was tapped.
    lastTappedButton = sender;
    [content release];
}

detailViewPopover is create in .h like this : @property (nonatomic, retain) UIPopoverController *detailViewPopover;

Thans for your help Let me know if you need more information, I will edit the post


Change

-(IBAction)theFunction:(UIButton *)sender

to

-(IBAction)theFunction:(id)sender 

Just try...


I am working on this and its work properly

So may be its useful for you.

myController.h

#import <\UIKit/UIKit.h>

@class myController;

@interface myController : UIViewController {

}

- (IBAction)onButtonClick:(UIButton *)button;

@end

myController.m

@implementation myController

- (IBAction)onButtonClick:(UIButton *)button {

NSLog(@"work properly");

}

0

精彩评论

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

关注公众号