“自动释放”的问题

时间:2012-07-04 16:47:22

标签: objective-c release

我遇到“autorelease”问题,查看我的代码:然后在“autorelease”中收到2条消息错误:

- 'autorelease'不可用:在自动参考计数模式下不可用

ARC禁止发送'autorelease'的显式消息 //代码

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    // Return the number of rows in the section.
    return 25;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
  (NSIndexPath *)indexPath{ 
                           static NSString *CellIdentifier = @"Cell"; 
                           UITableViewCell *cell = [tableView
                                         dequeueReusableCellWithIdentifier:CellIdentifier];      
         if(cell==nil){
        cell=[[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] ***autorelease***];

    } 


    // Configure the cell...
    cell.textLabel.text=[NSString stringWithFormat:@"Rental Property:%d", indexPath.row];
    NSLog(@"Rental Property %d", indexPath.row);
    return cell;    return cell;
}

有人可以帮忙吗?

THX !!

3 个答案:

答案 0 :(得分:4)

只需删除对-autorelease的通话即可。在ARC模式下不需要它。

答案 1 :(得分:1)

如果这不是您的代码,而是您复制和粘贴的第三方库,则应专门针对Targets->下的实施文件关闭ARC。构建阶段 - >在

中编译源和在违规文件类型的编译器标志下
  

-fno-objc弧

答案 2 :(得分:0)

使用ARC时不需要使用自动释放。 ARC代表“自动引用计数”,它自动处理对象的保留和释放。