UITableView / setEditing

时间:2012-07-20 09:07:22

标签: uitableview ios4 iphone-sdk-3.0 setediting

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,我可能会遗漏一些明显的东西。

任何人都可以在我的代码中看到可疑的内容吗?

1 个答案:

答案 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文件的完整内容)