0
我正在解析xml提要(使用NSXML解析器),我需要創建一堆相同的對象foo,然後將這些對象添加到NSMutableArray。我的問題涉及內存管理,而我嘗試這一點。目標中的工廠方法c
正如我所看到的,我的兩個選擇是: 1)創建一個工廠方法,根據需要創建對象。這是我的工廠方法,我在xml解析器中添加了這個方法。
+ (id)create_foo
{
return [[foo alloc] init];
}
2)我有自動引用計數。所以我在想,我可以在xml解析器中創建一個foo對象作爲實例變量,並在我需要創建新的foo對象時讓自動內存管理負責釋放對象。因此,在NSXML解析器的didStartelement方法中,
if ([elementName isEqualToString:@"new_foo"])
{
current_foo = [foo alloc];
}
哪種更有效?第二種選擇似乎工作較少,但我擔心自動引用計數。有第三種選擇嗎?
我收到'開發者工具',並會回覆您是否看到瓶頸。我對ARC的表現感興趣。我很好奇 - 大多數專業開發人員使用ARC還是喜歡自己處理內存管理? –
取決於球隊;一些做,一些不。自1989年以來,我一直在開發Objective-C,並在當前涉及的所有項目(包括蘋果公司的項目)中使用ARC。在許多情況下,ARC的性能比手動保留版本快,而在其他方面則表現平平。 – bbum