UITableView和setEditing存在以下问题。
第一次观看时,一切看起来都很完美。 第二次崩溃就行了:
[myList setEditing:YES animated:YES];
带有以下消息:
[1143:207] *** -[__NSArrayM count]: message sent to deallocated instance 0xb204700
在调试器控制台中。
我在这里列出了两个相关的代码:
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
myList=[[UITableView alloc] initWithFrame:CGRectZero];
[myList addGestureRecognizer:swipeRecognizer];
myList.backgroundColor=[UIColor colorWithRed:0.82 green:0.82 blue:0.82 alpha:0.6];
myList.dataSource=self;
myList.delegate=self;
[myList setEditing:YES animated:YES];
………
}
- (void)viewDidDisappear:(BOOL)animated {
[myList removeGestureRecognizer:swipeRecognizer];
[myList removeFromSuperview];
[myList release];
myList=nil;
[super viewDidDisappear:animated];
}
由于这是我第一次使用UITableView和setEditing,我可能会遗漏一些明显的东西。
任何人都可以在我的代码中看到可疑的内容吗?
答案 0 :(得分:1)
我猜你的方法如下:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [self.someArray count];
}
你需要确保" someArray"变量仍然存在。如果您的数组位于.h文件中,请确保使用
@property (nonatomic, retain) NSArray *array;
或(如果您使用ARC)
@property (nonatomic, strong) NSArray *array;
你可以发布这个方法的内容吗? (或.h和.m文件的完整内容)