UIButton解除了分配问题

时间:2011-04-08 12:37:45

标签: ios memory-management uibutton

我从调试器控制台收到此消息:

  

- [UIButton release]:发送到解除分配的实例0x1836b0的消息

但是我没有以编程方式创建UIButton,我的所有按钮都是在Interface Builder中创建的。它们中的每一个都链接到一个函数,如下所示:

  

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

在很多这个函数中,我不使用变量sender。我甚至都试图释放它。所以我不明白为什么我的应用程序试图释放我的按钮。 我是否在Interface Builder中执行某些操作来发布或不发布我的UIButton?它是关于我在UIButton中放置的图片吗?如果我使用变量(UIButton *)发送者,我是否需要释放它? 这个问题困扰着我,因为我的应用程序崩溃了。

编辑:

- (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在.h中创建如下:@property(nonatomic,retain)UIPopoverController * detailViewPopover;

寻求你的帮助 如果您需要更多信息,请告诉我,我将编辑帖子

2 个答案:

答案 0 :(得分:0)

更改

-(IBAction)theFunction:(UIButton *)sender

-(IBAction)theFunction:(id)sender 

试试......

答案 1 :(得分:0)

我正在研究这项工作及其正常工作

所以它可能对你有用。

myController.h

#import< \ UIKit / UIKit.h>

@class myController;

@interface myController:UIViewController {

}

- (IBAction)onButtonClick:(UIButton *)按钮;

@end

myController.m

@implementation myController

- (IBAction)onButtonClick:(UIButton *)按钮{

NSLog(@“正常工作”);

}