2010-12-07 3 views
9

Я хочу NSArray/NSMutableArray, содержащий все буквы алфавита. Должен быть быстрый и простой способ, лучше всего набирать их. Например, в PHP:Есть ли простой способ программно получить алфавит?

foreach(range('A','Z') as $i) $alphabet[]=$i; 
+0

Вы серьезно? вот ключ: это почти так же просто, как заполнение nsarray цифрами от 0 до 25. – 2010-12-07 14:55:43

+0

А как насчет разных языков? – 2015-08-13 10:47:36

ответ

22

Там нет более быстрого способа, чем печатать их все, если вы не вырезать и вставить свою удобную ссылку снизу!

"АБВГДЕЖЗИКЛМНОПРСТУФХЧШЭЮЯ"


Ради этого, вот более длинный путь.

for (char a = 'a'; a <= 'z'; a++) 
{ 
    [myArray addObject:[NSString stringWithFormat:@"%c", a]]; 
} 
+0

oh dear ... да, но написание простого цикла для использования с NSMutableArray было бы намного проще и гораздо более пригодным для копирования для других целей, в то время как набирать их один за другим просто требуется время. – 2010-12-07 15:01:38

+0

Вам не нравятся не американские алфавиты с разными наборами символов? – 2010-12-07 15:02:10

+0

nope ... я просто хочу, чтобы обычные стандартные буквы UK/US 26. :) ой и 0-9, но я уверен, что смогу справиться с этим! : p – 2010-12-07 15:05:01

0

Вы можете использовать for-loop для их генерации, но я думаю, что их легко распечатать. Это, безусловно, проще, чем задавать вопрос здесь. ;)

6

Иногда набирать буквы проще всего. Здесь они представлены как массив:

NSArray *letters = [@"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" componentsSeparatedByString:@" "]; 
4

попробуйте ввести следующий код;


int a = 65; 
for (; a < 91; a++) { 
    [array addObject:[NSString stringWithFormat:@"%c", (char)a]]; 
} 
NSLog(@"%@", array); 
23

Также может использоваться массив, сгенерированный для заголовков табличных индексов. Он не использует цикл for и имеет многоязычную поддержку.

NSMutableArray *alphabets = [[NSMutableArray alloc] initWithArray:[[UILocalizedIndexedCollation currentCollation] sectionIndexTitles]]; 

//Remove the last object (extra), '#' from the array. 
[alphabets removeLastObject];