-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ではない)を意味したと思いますか?releaseプロジェクトで自動参照カウントを使用している場合、、、、retainまたはを呼び出すことは意図されていませんautorelease。この場合、autorelease呼び出しを取り除くだけで、コードをコンパイルする必要があります。

于 2012-10-03T22:48:30.947 に答える
-1

ARC(またはABC:D)を使用していない場合はrelease、通常どおりに-(void)delloc 実行する必要があります。使用している場合は、コード行を削除します(autorelease)。

于 2012-10-03T23:30:32.507 に答える