Cocoa touch UITextView生成exc\u错误\u访问错误

Cocoa touch UITextView生成exc\u错误\u访问错误,cocoa-touch,memory-management,exc-bad-access,Cocoa Touch,Memory Management,Exc Bad Access,在典型的导航应用程序中,我有一个自定义视图控制器,显示RootViewController中所选项目的详细信息 细节控制器有2个插座,与nib接口相连。我刚刚在ViewDidLoad中进行了一次分配,并在dealloc中进行了释放 在运行应用程序时,点击DetailController中的back按钮返回根控制器后,我从nombreTextView获得了一个exc_bad_访问权限 这是所有涉及的代码和个人资料中的信息 EventoDetailViewControllerClass.h @cla

在典型的导航应用程序中,我有一个自定义视图控制器,显示RootViewController中所选项目的详细信息

细节控制器有2个插座,与nib接口相连。我刚刚在ViewDidLoad中进行了一次分配,并在dealloc中进行了释放

在运行应用程序时,点击DetailController中的back按钮返回根控制器后,我从nombreTextView获得了一个exc_bad_访问权限

这是所有涉及的代码和个人资料中的信息

EventoDetailViewControllerClass.h

@class YOEvento;
@interface EventoDetailViewControllerClass : UIViewController
{
    YOEvento *evento;
    IBOutlet UITextView *nombreTextView;
    IBOutlet UITextView *entradillaTextView;
}
@property (nonatomic, retain) YOEvento *evento;
@property (nonatomic, retain) IBOutlet UITextView *nombreTextView;
@property (nonatomic, retain) IBOutlet UITextView *entradillaTextView;
@end
EventoDetailViewControllerClass.m

#import "YOEvento.h"
@implementation EventoDetailViewControllerClass
@synthesize evento, nombreTextView, entradillaTextView;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    self.nombreTextView.text = self.evento.nombre;
    self.entradillaTextView.text = self.evento.entradilla;

}

- (void)dealloc {
    [nombreTextView dealloc];
    [entradillaTextView dealloc];
    [evento dealloc];

    [super dealloc];
}
RootViewController中的调用

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{   
    // Create a new detailViewController
    EventoDetailViewControllerClass *detailViewController = [[EventoDetailViewControllerClass alloc] initWithNibName:@"EventoDetailViewControllerClass" bundle:nil];
    // Get the current evento selected
    YOEvento *auxEvento = [self.eventosList objectAtIndex:indexPath.row];
    // Pass the evento to detailViewController
    detailViewController.evento = auxEvento;

    // Reset auxEvento Reference
    auxEvento = nil;
    // Push detailViewController on top of the stack.
    [self.navigationController pushViewController:detailViewController animated:YES];
    // Release detailViewController
    [detailViewController release]; 
}
在概要文件中,我得到以下信息:


#   Category    Event Type  RefCt   Timestamp   Address Size    Responsible Library Responsible Caller
0   UITextView  Malloc  1   00:23.646.688   0xbe750e0   448 UIKit   -[UIRuntimeConnection initWithCoder:]
1   UITextView  Retain  2   00:23.659.360   0xbe750e0   0   UIKit   -[UITextView resignFirstResponder]
2   UITextView  Autorelease     00:23.659.367   0xbe750e0   0   UIKit   -[UITextView resignFirstResponder]
3   UITextView  Retain  3   00:23.660.912   0xbe750e0   0   UIKit   -[UIRuntimeConnection initWithCoder:]
4   UITextView  Retain  4   00:23.660.915   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver _replaceObject:withObject:]
5   UITextView  Release 3   00:23.660.919   0xbe750e0   0   UIKit   -[UIRuntimeConnection initWithCoder:]
6   UITextView  Retain  4   00:23.660.922   0xbe750e0   0   UIKit   -[UIRuntimeConnection initWithCoder:]
7   UITextView  Release 3   00:23.660.964   0xbe750e0   0   UIKit   -[UIRuntimeConnection initWithCoder:]
8   UITextView  Autorelease     00:23.661.342   0xbe750e0   0   UIKit   -[UIRuntimeConnection initWithCoder:]
9   UITextView  Retain  4   00:23.661.346   0xbe750e0   0   UIKit   -[UIRuntimeConnection initWithCoder:]
10  UITextView  Retain  5   00:23.661.720   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
11  UITextView  Retain  6   00:23.661.733   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
12  UITextView  Release 5   00:23.661.744   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
13  UITextView  Retain  6   00:23.661.758   0xbe750e0   0   Foundation  -[NSArray(NSArray) initWithCoder:]
14  UITextView  Release 5   00:23.661.780   0xbe750e0   0   UIKit   -[UIView initWithCoder:]
15  UITextView  Retain  6   00:23.661.828   0xbe750e0   0   UIKit   -[UIView(Internal) _addSubview:positioned:relativeTo:]
16  UITextView  Release 5   00:23.665.628   0xbe750e0   0   UIKit   -[UINib instantiateWithOwner:options:]
17  UITextView  Retain  6   00:23.665.897   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
18  UITextView  Retain  7   00:23.665.916   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
19  UITextView  Release 6   00:23.665.928   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver _decodeArrayOfObjectsForKey:]
20  UITextView  Retain  7   00:23.665.950   0xbe750e0   0   Foundation  -[NSArray(NSArray) initWithCoder:]
21  UITextView  Release 6   00:23.665.977   0xbe750e0   0   UIKit   -[UINib instantiateWithOwner:options:]
22  UITextView  Retain  7   00:23.666.102   0xbe750e0   0   Proyecto3   -[EventoDetailViewControllerClass setNombreTextView:]
23  UITextView  Release 6   00:23.666.280   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver dealloc]
24  UITextView  Release 5   00:23.666.333   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver dealloc]
25  UITextView  Release 4   00:23.666.348   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver dealloc]
26  UITextView  Release 3   00:23.666.404   0xbe750e0   0   Foundation  -[NSKeyedUnarchiver dealloc]
27  UITextView  Release 2   00:23.666.466   0xbe750e0   0   UIKit   -[UIRuntimeConnection dealloc]
28  UITextView  Retain  3   00:23.677.242   0xbe750e0   0   QuartzCore  -[CALayer layoutSublayers]
29  UITextView  Release 2   00:23.677.244   0xbe750e0   0   QuartzCore  CALayerLayoutIfNeeded
30  UITextView  Retain  3   00:23.703.612   0xbe750e0   0   UIKit   -[UIView(Hierarchy) subviews]
31  UITextView  Zombie  -1  00:26.613.518   0xbe750e0   0   UIKit   -[UIView(Internal) _invalidateSubviewCache]


您不应该对非超级对象调用
dealloc
方法。将您的
dealloc
替换为下一个:

- (void)dealloc {
    [nombreTextView release];
    [entradillaTextView release];
    [evento release];

    [super dealloc];
}

我真不敢相信我错过了那个。这是一个不看屏幕就匆忙填写的代码。在回顾的时候,我只是看看实例是否在哪里变。