Описание тега objective-c-literals

Clang 3.1 и Apple LLVM 4.0 представили новый литеральный синтаксис для создания объектов и индексации коллекций в Objective-C, позволяющий упростить использование NSNumber, NSArray и NSDictionary. Используйте этот тег для вопросов относительно этого синтаксиса.
1 ответ

Технический термин для доступа к массиву с индексом и квадратными скобками

Как называется или называется операция для получения члена массива? Например, этот метод возвращает простой массив: - (NSArray*)createArray { NSArray *myArray = [[NSArray alloc] initWithObjects:@"unordentliches array", @"beliebiges Value", nil]; ret…
4 ответа

Равенство примитивного значения NSNumber против isEqualToNumber с литералами Obj-C

Теперь, когда у нас есть литералы NSNumber с поддержкой компилятора в Objective-C, есть ли предпочтительный способ сравнить NSNumber с известным целочисленным значением? Старый способ[myNumber integerValue] == 5 Теперь мы можем сделать [myNumber isE…
14 фев '13 в 20:09
2 ответа

Вставить объект в конец массива, используя новый литеральный синтаксис

PHP имеет: arr[] = 'Push this onto my array'; Где строка будет добавлена ​​в конец массива. Есть ли эквивалент этого в новом буквальном синтаксисе Objective-C? Самый краткий способ, которым я могу думать, делает это: arr[arr.count] = @"Add me"; но м…
4 ответа

Сравнение литералов NSNumber

Мне действительно нравятся новые литералы в Objective-C. Мне интересно, если с новыми дополнениями есть лучший способ сравнить цифры. Например, если я хочу сравнить a а также b: a = @1; b = @2; Это единственный способ сравнить их так: [a intValue] &…
3 ответа

Существует ли буквальный синтаксис NSMutableDictionary для удаления элемента?

Существует литеральный синтаксис для добавления объекта и изменения объекта в NSMutableDictionary. Существует ли литеральный синтаксис для удаления объекта?
2 ответа

Что означает индекс в квадратных скобках после NSArray?

Работа с iTunes U Разработка приложений для iOS 7 для iPhone и iPad, а также слайдов лекции 3 на стр. 120, есть вопрос викторины, в котором задается вопрос о том, что делает следующая строка кода. Честно говоря, я немного озадачен и надеялся, что кт…
1 ответ

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

Я посмотрел видео WWDC и увидел, что в Xcode есть опция Refactor, которая - boom - может автоматически обновлять весь ваш код, чтобы использовать новую, более читаемую запись. Вместо того, чтобы делать [NSArray arrayWithObjects @"a",@"b",@"c",nil]На…
14 окт '12 в 14:35
2 ответа

Имя селектора для литерального конструктора NSArray, например @[]?

Прошло много времени с тех пор, как Clang добавил синтаксис Objective-C для NSDictionary, NSArray, NSNumber, а также BOOL литералы, как @[object1, object2,] или же @{key : value} Я ищу имя селектора, связанного с литералом массива, @[], Я попытался …
2 ответа

Заключение в бокс одного и того же члена перечисления выдает большее целое число, когда оно передается методу

Я использую примитив-боксерскую функцию Clang, чтобы упаковать член перечисления в NSNumber Раздел Boxed Enums документа Clang об этом говорит, что компилятор помещает члены перечисления в целые числа, если тип не указан. Как ни странно, я получаю ц…
22 авг '12 в 10:32
2 ответа

Можно ли перенаправить новые литералы Clang Objective-C в пользовательские классы?

Хотя перегрузка @ начинает наступать на опасную территорию, мне нравится добавление новых литералов Objective-C в Clang 3.1. К сожалению, новые литералы имеют ограниченное использование для меня. За исключением случаев, когда код должен взаимодейств…
28 июн '12 в 20:28
2 ответа

Доступ к ключам в NSDictionary с использованием нотации [ключ]?

Я только что понял, что могу получить доступ NSDictionary используя оба objectForKey: и диктовать [ключ]? NSDictionary *coordsDict = @{@"xpos": @5.0, @"ypos": @7.2, @"zpos": @15.7}; NSLog(@"XPOS: %@", coordsDict[@"xpos"]); NSLog(@"XPOS: %@", [coords…
3 ответа

Преобразование списков свойств в литералы Objective-C

Я не уверен, возможно ли это, но я видел, как люди делают сумасшедшие вещи с помощью регулярных выражений и других инструментов. Я хочу преобразовать этот список в литералы Objective-C: <dict> <key>ar</key> <array> <string…
24 окт '12 в 18:15
1 ответ

Является ли буквальное создание NSMutableDictionary менее эффективным, чем вспомогательный метод класса?

Заметно ли эффективнее создать NSMutableDictionary используя конструктор [NSMutableDictionary dictionaryWithObjectsAndKeys:@"object1", @"key1", @2, @"key2", nil]; чем брать изменчивую копию литерала [@{@"key1":@"object1", @"key2":@2} mutableCopy];
14 сен '12 в 14:43
1 ответ

Не удается создать экземпляр NSNumber с сокращенным синтаксисом типа @n при использовании enum?

У меня есть enum определяется так: typedef enum dataTypes{ LOW, MEDIUM, HIGH, MAX_DATA_TYPE } dataTypeEnum; Я хотел бы иметь возможность создать экземпляр NSArray из NSNumberвот так: NSArray * numsToUse = @[@LOW, @MEDIUM]; Это не компилируется. Есть…
3 ответа

Разница между @[] и [NSArray arrayWithObjects:]

Возможный дубликат: Следует ли мне использовать буквальный синтаксис или конструкторы для создания словарей и массивов? Есть ли разница между: NSArray *array = @[@"foo", @"bar"]; а также NSArray *array = [NSArray arrayWithObjects:@"foo", @"bar", nil…
11 окт '12 в 07:37
1 ответ

Что означает @[object1, object2]?

Возможный дубликат: Какой тип объекта создает @[obj1, obj2]? Глядя на шаблон Master-Detail в Xcode, в приложении делегат SplitViewControllerКонтроллеры вида установлены так: self.splitViewController.viewControllers = @[masterNavigationController, de…
1 ответ

Безопасная подписка на NSDictionary

С синтаксисом литералов можно использовать словарь NSDictionary *, подобный этому, чтобы получить objectForKey NSDictionary * dictionary; id object = dictionary[key]; Но если тип словаря имеет тип ID, и вы пытаетесь написать id dictionary; id object…
4 ответа

Каковы подробности "Objective-C Literals", упомянутые в примечаниях к выпуску Xcode 4.4?

Я просматривал заметки о выпуске для Xcode 4.4 и заметил это: Компилятор LLVM 4.0 Xcode теперь включает в себя Apple LLVM Compiler версии 4.0, включая следующие новые функции языка Objective-C: [...] - Литералы Objective C: создайте литералы для NSA…
19 фев '12 в 08:17
1 ответ

Доступен ли буквальный синтаксис объекта только для разработки под OS X?

Являются ли новые Objective-C буквальными синтаксическими дополнениями (например, @3.14) доступно только при разработке для OS X, а не iOS? Вот что, похоже, предлагает обновление Xcode 4.4. Если так, то почему?
3 ответа

Почему экземпляры создаются с использованием "буквального синтаксиса", известного как "литералы"?

Меня беспокоит то, что термин "литерал" используется для обозначения экземпляров таких классов, как NSString а также NSArray, Я видел только термин, используемый в отношении NSString и будучи наивным, я думал, что это как-то связано с тем, что "букв…