-2

我正在将一些代码从一个项目复制到另一个项目以填写表格视图,我收到此错误

ABC Forbids explicit message sent of auto release

当我尝试创建 UITableViewCell 对象时。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
       // this line produces the error
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
4

2 回答 2

0

我认为您的意思是ARC(不是ABC)?当您的项目使用自动引用计数时,您不需要调用releaseretainautorelease. 在这种情况下,您可以摆脱自动释放调用,您的代码应该可以编译。

于 2012-10-03T22:48:30.947 回答
-1

如果您不使用 ARC(或 ABC :D),您应该在release正常情况下使用它-(void)delloc 并且如果您使用删除代码行(只是autorelease)。

于 2012-10-03T23:30:32.507 回答