私は、iPhone 用の簡単な署名キャプチャ アプリケーションを作成する初心者です。
このアプリケーションは、ユーザーが配達物が入力されたテーブル ビューに移動できるようにするためのサポートです。次に、現在配信している配信をクリックします。
EXC_BAD_ACCESS
テーブル ビューを読み込もうとするとエラーが発生するので、Zombie Diagnostic Instrument を実行して、問題が見つかるかどうかを確認しました。ゾンビエラーが発生しましたが、「責任ある発信者」のどれも、私が書いたコードを参照していません。
したがって、これまでのアプリの基本的な流れは、3 つのボタンを持つビューがあり、そのうちの 1 つがテーブル ビューにつながり、それを使用するとクラッシュします。
これは、ビュー スイッチのコードです。
-(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
誰かがこの問題を見つけるのを手伝ってくれるなら、それは大歓迎です。