Я пытаюсь восстановиться после случайного удаления моего файла .m. Кто-нибудь видит, что я делаю неправильно, из-за чего все мои клетки становятся пустыми?
.h
#import <UIKit/UIKit.h>
@interface FirstViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> {
}
@end
.m
#import "FirstViewController.h"
#import "Shared.h"
#import "Message.h"
@implementation FirstViewController
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CellIdentifier";
// Dequeue or create a cell of the appropriate type.
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = @"Foo";
return cell;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog([NSString stringWithFormat:@"Number of rows %i", [[Shared sharedInstance].messages count]]);
//this comes back as 10
return [[Shared sharedInstance].messages count];
}
Обновление:
Я связал это со странной проблемой. Далее я выхожу как 10, но если я вернусь, строки будут пустыми. Если я верну 10, как показано ниже, это сработает.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
#warning Incomplete method implementation.
// Return the number of rows in the section.
NSInteger i = [[Shared sharedInstance].messages count];
NSLog([NSString stringWithFormat:@"Number of rows %i", i]);
return 10;
}
Еще одно обновление:
Хорошо, я подошел ближе. Кажется, что хотя reloaddata вызывается, когда я прохожу с отладчиком, похоже, что он не перезагружается должным образом. Вот почему жестко закодированное число сработало, если я использовал жестко закодированную строку-образец для каждой строки. При первой загрузке число строк будет равно нулю, а поскольку reloaddata не работает, при следующей загрузке оно не обновляется до 10 строк.
В случае, если кому-то интересно, связан ли я с делегатом и источником данных.
