同じオブジェクト foo の束を作成する必要がある xml フィードを (NSXML パーサーを使用して) 解析し、これらのオブジェクトを NSMutableArray に追加します。私の質問は、これを試みている間のメモリ管理に関するものです。
私の考えでは、次の 2 つのオプションがあります。1) 必要に応じてオブジェクトを作成するファクトリ メソッドを作成します。これは私のファクトリ メソッドで、xml パーサーのメソッドとして追加しました。
+ (id)create_foo
{
return [[foo alloc] init];
}
2) 私は自動参照カウントをオンにしています。そこで、xml パーサーで単一の foo オブジェクトをインスタンス変数として作成し、新しい foo オブジェクトを作成する必要があるときに自動メモリ管理にオブジェクトの解放を任せることができると考えていました。したがって、NSXML パーサーの didStartelement メソッドで
if ([elementName isEqualToString:@"new_foo"])
{
current_foo = [foo alloc];
}
どちらがより効率的ですか? 2 番目のオプションは手間がかからないように思えますが、自動参照カウントが心配です。3番目のオプションはありますか?