2015-05-27 6 views
2

// У меня есть массивДобавление объектов в массивы

NSMutableArray *anArray = [[NSMutableArray allot] init]; 

// Я хочу, чтобы добавить строку объект. Я могу добавить его либо с помощью этого:

NSString *aString = @"A random string"; 
[anArray addObject:aString]; 

// Но я также могу это сделать:

[anArray addObject:@"A random string"]; 

Для второго варианта, это создает новый объект строки. Я не могу явно получить доступ к этому объекту, но я могу получить к нему доступ с массивом с objectAtIndex :. Но зачем тогда использовать первый вариант?

+0

Имя переменной может указывать на то, что строка представляет лучше. Если строка длинная, вы можете лучше форматировать код первым. В действительности они делают то же самое - компилятор оптимизирует любые различия, так что сделайте в зависимости от того, что более читаемо. – EricS

+0

О, спасибо, это был полный ответ, я не знаю, почему вы выразили это как комментарий! –

+0

zaph уже ответил на это, и я просто добавил немного информации. – EricS

ответ

1

В обоих случаях @"A random string" создан во время компиляции. Лично я использовал один оператор. Это действительно не имеет никакого значения, компилятор, скорее всего, оптимизирует временный aString.

Что касается «Но почему бы вам когда-нибудь использовать первый вариант?» позвольте мне спросить, почему кто-то будет носить черные вместо коричневых ботинок? Личное предпочтение.

Смежные вопросы