0

我对“autorelease”有问题,看看我的代码:然后在“autorelease”中出现 2 条消息错误:

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

和:

ARC 禁止“自动释放”//代码的显式消息发送

- (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;
}

有人可以帮忙吗?

谢谢!!

4

3 回答 3

4

只需删除对-autorelease. 在 ARC 模式下不需要它。

于 2012-07-04T16:50:51.777 回答
1

如果这不是您的代码,而是您复制和粘贴的第三方库,则应在 Targets-> Build Phases -> Compile Sources 下以及在违规文件类型的编译器标志下关闭 ARC 专门用于实现文件

-fno-objc-弧

于 2012-07-04T18:21:16.177 回答
0

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

于 2012-07-04T16:51:44.100 回答