據我所知,第一個完成後你必須釋放,第二個你不需要釋放。爲什麼你會在第二次初始化時使用?這兩個init方法有什麼區別?
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"title", @"text", nil];
而且
NSMutableDictionary *dictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"title", @"text", nil];
+ +1提到緊密循環的特殊野獸。我想補充一點,如果你在一個使用自動釋放對象的緊密循環中使用了很多庫調用,你可以爲循環的每次迭代創建和銷燬一個NSAutoreleasePool。這並不昂貴,並且可以阻止可能令人討厭的內存膨脹。 – 2009-08-17 12:40:07
是香椿上的點。我確實想到提到這一點,但決定我的帖子足夠長了! – h4xxr 2009-08-17 15:31:33