Ответ 1
[NSMutableDictionary dictionary]
совпадает с [[[NSMutableDictionary alloc] init] autorelease]
Чтобы создать пустой словарь, я должен позвонить [NSMutableDictionary dictionary]
или [[NSMutableDictionary alloc] init]
?
Какая разница?
[NSMutableDictionary dictionary]
совпадает с [[[NSMutableDictionary alloc] init] autorelease]
Разница в том, что если вы используете NSMutableDictionary* myDictionary = [[NSMutableDictionary alloc] init]
, вам придется позже позвонить [myDictionary release]
, когда вы закончите с ним. В противном случае произойдет утечка памяти. Если вы используете другой метод, вам не нужно беспокоиться об управлении памятью.
для полноты, через несколько лет мы получили другой более короткий способ выделить словарь:
NSMutableDictionary* dictionary = @{}.mutableCopy;