1

Objective-Cでこれを行うための良い方法はありますか、それとも私自身の退屈なロジックを書く必要がありますか?

iPhoneゲームのフレームごとに小さな状態オブジェクトを少し作成して破棄しています。プールからオブジェクトを再利用できればいいのにと思います。

4

3 に答える 3

7

iPhone 用のSparrow フレームワークには、「SPPoolObject」というクラスが含まれています。フレームワークは、ポイント、長方形、行列など、非常に頻繁に使用されるヘルパー オブジェクトに対して内部的に使用します。

SPPoolObject から継承する場合、'dealloc' メソッドは実際には削除しません。代わりに、メモリは次に割り当てられたオブジェクトに再利用されます。

これは非常に単純なクラスです。プロジェクトで簡単に使用できます。依存関係がないため、Sparrow フレームワークから簡単に取得できます ;)

于 2010-11-03T10:55:53.693 に答える
1

Cocoa も Objective-C も、オブジェクト プールに特に役立つことは何もしません。彼らもあなたを止めるために何もしませんが、基本的にはDIYする必要があります.

于 2010-05-04T22:43:37.447 に答える
0

テーブル ビューには、異なる TableCell に対して何らかのプーリング メカニズムがあると思います。

そんな感じ :

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
                    cellId];
    if (cell == nil) 
    {
        cell = [[[UITableViewCell alloc]
                initWithStyle:UITableViewCellStyleDefault
                reuseIdentifier:CheckMarkCellIdentifier] autorelease];
    }

使用するより一般的なものがあるかどうかはわかりません。

于 2012-01-27T12:21:33.557 に答える