Не удается определить объект зомби в приложении iPhone - PullRequest
0 голосов
/ 07 декабря 2011

Я новичок, делающий простое приложение для захвата подписи для iPhone.

Приложение позволяет пользователю переходить к табличному представлению, заполненному доставками. Затем они нажимали на доставку, которую они в настоящее время доставляют.

Я сталкиваюсь с ошибкой EXC_BAD_ACCESS, когда пытаюсь загрузить табличное представление, поэтому я запустил Zombie Diagnostic Instrument, чтобы посмотреть, смогу ли я найти проблему. Я получил сообщение об ошибке Zombie, однако ни один из «Ответственных абонентов» не имеет отношения к любому написанному мной коду.

Таким образом, основной поток моего приложения до сих пор состоит в том, что у меня есть представление, в котором есть 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

Если бы кто-нибудь мог помочь мне найти эту проблему, это было бы очень признательно.

1 Ответ

1 голос
/ 09 декабря 2011

Я выяснил проблему.

Проблема заключалась в том, что у меня неправильный источник данных и делегаты для табличного представления.По умолчанию было задано само представление таблицы, а не владелец файла.

Спасибо, что проявили интерес к моей проблеме.

...