2012-05-17 2 views

ответ

2

Да, это так просто, jst выполняет сегментирование, в котором начинается charecter A и проверяет до z (или независимо от вашего requiremtn), если он ничего не соответствует, затем добавьте его в последний массив, который вы собираетесь показывать в необитаемых объектах. У меня это для контактов. см., если это понятно по u

int numContacts=[cList count]; 

    //NSMutableArray *nonAlphaArray=[[NSMutableArray alloc] init]; 
    NSMutableArray *arrayCollection[27]; 

    for (int i=0; i<27; i++) { 
     arrayCollection[i]=[NSMutableArray array]; 
    } 

    for (int i=0; i<numContacts; i++) 
    { 
     Contact *contact= [cList objectAtIndex:i]; 


     unichar alphaSmall='a'; 
     unichar alphaBig='A'; 

     unichar first=0x0000; 
     if([contact.mContactName length]>0) 
      first= [contact.mContactName characterAtIndex:0]; 

     for (int j=0; j<26;) 
     { 

      if (first==alphaSmall || first==alphaBig) 
      { 
       [arrayCollection[j] addObject:contact]; 
       break; 
      } 

      alphaSmall++; 
      alphaBig++; 

      j++; 

      if (j==26) { 
       [arrayCollection[26] addObject:contact]; 
      } 

     } 
    } 

    for (int i=0; i<27; i++) 
    { 
     [alphaDictionary setObject:arrayCollection[i] forKey:[NSString stringWithFormat:@"%d",i]]; 
    } 
+0

Спасибо за ваш ответ. У меня есть SQLite и выбор списка записей. Скажем, например, у меня есть имя, фамилия и компания. Я создаю раздел, основанный на компании. Если компания пуста, записи были помещены сверху таблицы. Я не могу использовать массив, поскольку имею дело с большими данными. Можно ли достичь этого через sortdescriptor? – Arock

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