我是一个为iPhone制作一个简单的签名捕获应用程序的菜鸟。
应用程序是suppost让用户导航到填充了deliveryies的表视图。然后,他们会点击他们目前正在交付的交付。
当我尝试加载表视图时遇到EXC_BAD_ACCESS
错误,所以我运行Zombie Diagnostic Instrument来查看是否可以找到问题。我收到了一个Zombie错误,但是“负责的来电者”没有提到我写的任何代码。
所以到目前为止我的应用程序的基本流程是我有一个View上有3个按钮,其中一个导致表视图,然后如果你使用它就会崩溃。
这是视图切换的代码:
-(IBAction) deliveriesButtonClicked:(id)sender {
if (self.deliveriesViewer == nil) {
DeliveriesViewerController *aOptionController = [[DeliveriesViewerController alloc] initWithNibName: @"DeliveriesViewerController" bundle: nil];
self.deliveriesViewer = aOptionController;
[aOptionController release];
}
[self.mainNavigationController.view removeFromSuperview];
[self.view insertSubview:self.deliveriesViewer.view atIndex:0];
}
这是它正在切换到
的交付类的代码标题
#import < UIKit/UIKit.h >
@interface DeliveriesViewerController : UITableViewController <UITableViewDelegate> {
IBOutlet UITableView *myTable;
}
@property (nonatomic, retain) UITableView *myTable;
@end
实施
#import "DeliveriesViewerController.h"
#import "AppDelegate.h"
@implementation DeliveriesViewerController
@synthesize myTable;
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
return appDelegate.invoices.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];
}
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
cell.text = [appDelegate.invoices objectAtIndex:indexPath.row];
return cell;
}
@end
如果有人能帮我找到这个问题,我们将不胜感激。
答案 0 :(得分:1)
我发现了问题。
问题是我有错误的数据源和表视图的委托。 默认设置为tableview本身而不是文件所有者。
感谢您在我的问题中表现出的兴趣。