UITableView возвращает ноль? - PullRequest
       13

UITableView возвращает ноль?

0 голосов
/ 11 апреля 2011

Я потратил много часов на изучение этого вопроса и все еще не могу найти решение. Вот диаграмма того, через что проходит пользователь:

  • Пользователь делает снимок или снимает его со своей камеры
  • Как только они выбирают (или выбирают), captionView закрывается
  • Как только captionView закрывается, запускается загрузка из другого представления
  • Если пользователь решит открыть представление, в котором находится startUploads, он может увидеть, что было загружено

Теперь, когда вы немного узнали о процессе, у меня есть несколько вопросов. Когда загрузка закончится, я хочу, чтобы они исчезли. Я знаю, как это сделать, но по какой-то причине, когда я звоню, self.theTableView возвращает ноль. У меня есть @property (nonatomic, retain)... в моем .h и у меня есть @sythesize theTableView; в моем .m.

В другом вопросе я обнаружил, что при выполнении startUploads мой NSMutableArray необходимо было инициировать здесь (поэтому я подумал, что он будет делать то же самое с моим UItableView). Вот что у меня есть:

- (id)initWithNibNamed:(NSString *)nibName bundle:(NSBundle *)bundle {
self = [super initWithNibNamed:nibName bundle:bundle];
if (self) {
    processList = [[NSMutableArray alloc] init];
    self.theTableView = [[UITableView alloc] init];
    NSLog(@"thetableview: %@", theTableView);
}
return self;
}

На всякий случай, если вы хотите увидеть, как вызывается startUploads, вот код:

processViewController *testtest = [[processViewController alloc] initWithNibName:@"processView.xib" bundle:nil];
//testtest.processList = [[NSMutableArray alloc] initWithNig];
NSLog(@"Different:displayProcessVC BEFORE STARTING UPLOAD, processList = %@", testtest.processList);
NSLog(@"Different:displayProcessVC BEFORE STARTING UPLOAD, theTableView = %@", testtest.theTableView);
[testtest startUploads];
NSLog(@"Different:displayProcessVC AFTER STARTING UPLOAD, processList = %@", testtest.processList);
NSLog(@"Different:displayProcessVC AFTER STARTING UPLOAD, theTableView = %@", testtest.theTableView);
[testtest release];

Однако в консоли все равно отображается (null).

Пожалуйста, помогите!
Култон

РЕДАКТИРОВАТЬ 1:

Вот где это ноль:

- (void)deleteOneRow: (NSString *)theString {
int theInt = [processList indexOfObject:theString];
[processList removeObjectAtIndex:theInt];
NSArray *deleteIndexPaths = [[NSArray alloc] initWithObjects: [NSIndexPath indexPathForRow:theInt inSection:0], nil];
NSLog(@"theTableView: %@", self.theTableView);
[self.theTableView beginUpdates];
[self.theTableView deleteRowsAtIndexPaths:deleteIndexPaths withRowAnimation:UITableViewRowAnimationFade];
[self.theTableView endUpdates];
}

1 Ответ

0 голосов
/ 11 апреля 2011

Назначенный инициализатор для UITableView - -initWithFrame:style:, и у вас течьПопробуйте вместо этого -viewDidLoad.

self.theTableView = [[[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain] autorelease];

...