我花了很多时间研究这个问题,但仍然无法找到解决方案。这是一个关于用户经历的图表:
现在你对这个过程了解一点,我有一些问题。上传完成后我希望它们淡出。我知道怎么做,但由于某些原因,当我打电话时,self.theTableView
返回null。我的.h中有一个@property (nonatomic, retain)...
我的.m中有一个@sythesize theTableView;
。
在另一个问题中,我发现在执行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)
。
请帮忙!
Coulton
编辑1:
这就是nil:
- (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];
}
答案 0 :(得分:0)
UITableView的指定初始值设定项为-initWithFrame:style:
,您正在泄漏。请在-viewDidLoad
中尝试此操作。
self.theTableView = [[[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain] autorelease];