我正在尝试从tableView重新加载数据。从它自己的空虚调用它时,它不起作用,没有任何反应。但是,当我浏览它时,我删除一个单元格。我认为它与我的INIT有关。你能帮我解决一下吗?感谢。
以下是我的代码!
- (id) init {
//NSLog(@"%@", theUserID);
// Set up database connection
NSString *myDBTwo = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"flashpics.db"];
databaseTwo = [[Sqlite alloc] init];
[databaseTwo open:myDBTwo];
//Initialize the array.
listOfItems = [[NSMutableArray alloc] init];
[listOfItems addObject:@"hi!"];
// Add to array to display in the tableView
NSArray *listOfItemsTwo = [databaseTwo executeQuery:@"SELECT * FROM albums"];
for (NSDictionary *rowone in listOfItemsTwo) {
NSString *getName = [rowone valueForKey:@"name"];
if (getName != NULL) {
[listOfItems addObject:getName];
[getName release];
}
}
//[database release];
return self;
}
这是我的无效:
- (void)refreshTableView {
[(UITableView *)self.view reloadData];
//[self.tableView reloadData];
}
提前致谢。
答案 0 :(得分:2)
你过度释放getName
,所以我希望这会崩溃。但是如果调用-refreshTableView
时没有发生任何事情,那么我希望self.view
是nil
。您应该验证以下内容:
refreshTableView
实际上被称为self.view
在使用nil
tableView:cellForRowAtIndexPath:
被调用,并在请求时返回正确配置的单元格