Чтобы создать пустой словарь, [словарь NSMutableDictionary] или [[NSMutableDictionary alloc] init]?

Чтобы создать пустой словарь, я должен позвонить [NSMutableDictionary dictionary] или [[NSMutableDictionary alloc] init]?

Какая разница?

Ответы

Ответ 1

[NSMutableDictionary dictionary] совпадает с [[[NSMutableDictionary alloc] init] autorelease]

Ответ 2

Разница в том, что если вы используете NSMutableDictionary* myDictionary = [[NSMutableDictionary alloc] init] , вам придется позже позвонить [myDictionary release] , когда вы закончите с ним. В противном случае произойдет утечка памяти. Если вы используете другой метод, вам не нужно беспокоиться об управлении памятью.

Ответ 3

для полноты, через несколько лет мы получили другой более короткий способ выделить словарь:

NSMutableDictionary* dictionary = @{}.mutableCopy;