Многоразовый NSMutableDictionary - PullRequest
0 голосов
/ 03 февраля 2010

Кто-то на этом форуме предложил мне решение для кода, которое отлично работало, но для моего понимания я хотел бы знать, в чем разница между двумя блоками кода:

Блок 1

NSMutableDictionary* step_info = [NSMutableDictionary dictionary];

Блок 2

NSMutableDictionary* step_info = nil;
step_info = [NSMutableDictionary dictionary];

Также важно упомянуть, что step_info необходимо заполнять и многократно использовать повторно для загрузки в другой NSmutabledictionary.

Спасибо за вашу помощь

Ответы [ 2 ]

2 голосов
/ 03 февраля 2010

Отсутствует. Компилятор оптимизирует step_info = nil, и вы получите тот же код.

Ниже приведен еще один подход:

NSMutableDictionary *step_info;
step_info = [NSMutableDictionary dictionary];
0 голосов
/ 03 февраля 2010

Наличие NSMutableDictionary* step_info; вначале позволяет вам использовать step_info = [NSMutableDictionary dictionary] позже в том же блоке кода.

Если вы хотите присвоить значение step_info несколькими способами, было бы лучше, если бы вы добавили NSMutableDictionary* step_info в раздел @interface файла заголовка.

Таким образом, вы можете использовать step_info = [[NSMutableDictionary alloc] init] в любом методе вашего файла реализации, а затем присваивать значения и ключи следующим образом: [step_info setValue: value forKey: key];

...