Sortiranje nizova u dikšionariju
(1 korsinik/a gleda/ju temu) (1) Gost

Sortiranje nizova u dikšionariju


20.01.2011 | 02:26
Čisto kao komentar na raspravu na jednom drugom sajtu - Command line tool, type: Foundation, pa ovo u main.c:
#import <Foundation/Foundation.h>

NSComparisonResult compare (NSString *first, NSString *second, void *context)
{
   return [first compare:second];
}

void proba (void)
{
   NSArray  *automobiliArray = [NSArray arrayWithObjects:@"volvo", @"alfa", nil];
   NSArray  *zivotinjeArray  = [NSArray arrayWithObjects:@"zebra", @"krava", nil];
   
   NSDictionary  *automobiliDict = [NSDictionary dictionaryWithObjectsAndKeys:@"automobili", 
@"sectionName", automobiliArray, @"array", nil];
   NSDictionary  *zivotinjeDict  = [NSDictionary dictionaryWithObjectsAndKeys:@"životinje",
@"sectionName", zivotinjeArray, @"array", nil];
   
   NSMutableArray  *allItems = [NSMutableArray arrayWithObjects:zivotinjeDict, automobiliDict, nil];
   
   NSLog (@"*** UNSORTED ***");
   for (NSDictionary *tmpDict in allItems)  {
      NSLog (@"--- Section: %@ ---", [tmpDict objectForKey:@"sectionName"]);
      NSArray  *tmpArray = [tmpDict objectForKey:@"array"];
      for (int i=0; i<[tmpArray count]; i++)  {
         NSLog (@"Item %d: %@", i, [tmpArray objectAtIndex:i]);
      }
   }
   NSLog (@".");
   NSLog (@"*** SORTED ***");
   NSSortDescriptor  *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"sectionName" ascending:YES];
   
   [allItems sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];

   for (NSDictionary *tmpDict in allItems)  {
      NSLog (@"--- Section: %@ ---", [tmpDict objectForKey:@"sectionName"]);
      NSArray  *tmpArray = [[tmpDict objectForKey:@"array"] sortedArrayUsingFunction:compare context:NULL];
      for (int i=0; i<[tmpArray count]; i++)  {
         NSLog (@"Item %d: %@", i, [tmpArray objectAtIndex:i]);
      }
   }

   [sortDescriptor release];
}

int main (int argc, const char * argv[])
{
   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
   
   proba ();
   
   [pool drain];
   return (0);
}


Nisam htio komplicirati sa klasama tako da se sortira upotrebom funkcije. To se lako promijeni u nekoj konkretnoj aplikaciji.

Ispis u konzoli izgleda ovako:

*** UNSORTED ***
--- Section: životinje ---
Item 0: zebra
Item 1: krava
--- Section: automobili ---
Item 0: volvo
Item 1: alfa

*** SORTED ***
--- Section: automobili ---
Item 0: alfa
Item 1: volvo
--- Section: životinje ---
Item 0: krava
Item 1: zebra
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 2 dana, 14 sati
  • smayoo: Ajd... :)
  • CoffeePod: [link]
  • CoffeePod: Čudo
  • CoffeePod: Pogledajte ovo čudi
  • smayoo: Koji ZIPani post... :D
  • Riba: Opera radi nakon brisanja cachea, vjerojatno ce i Safari na iPadu. RIP Miso, i za drlovrica uskoro lijepe novosti.
  • Riba: +
  • Riba: + Opera
  • Gjuroo: Laka mu zemlja...
  • smayoo: Ae, partija nan je Mišo... :(
  • jura22: iPad Sfari nema pluseva.
  • jura22: iPad
  • drlovric: Tako da cekamo i dalje. Nije belaj :)
  • drlovric: Za sta koristite te pluseve pa tolika euforija :) Ja cekam davno obecani responsive forum ali bice da nam je Riba previse zauzet :/
  • Riba: Pogledam sutra na Operi, Firefox je ok.
  • jura22: Ovo je Safari, a na Operi na radi.
  • jura22: ++++
  • smayoo: Bajdvej, na kraju nisam brisao browser cache.
  • smayoo: Eeeee, ček sad dok nadoknadim sve izgubljene pluseve... ++++++ ++++ +++ ++++++ +++ +++ +++++++ +++ :P
  • smayoo: +++++++
  • smayoo: +
  • Riba: a+b
  • Gjuroo: Radi!
  • Gjuroo: plus
  • ZoPaj: a b
  • Riba: Obrisite browser cache, n00bs.
  • Riba: +
  • jura22: i opet ništa
  • jura22: a b
  • smayoo: +
  • smayoo: RIP :(
  • zoranowsky: R.I.P. Sir Patrick Stewart
  • jura22: h
  • jura22: Zašto plus ne ide?
  • jura22: A B
  • jura22: A B
  • dpasaric: Haha! :)
  • Yonkis: Riba - vikao sam na vikalici ali nije radila. :)
  • dpasaric: Slobodno tamo komentirajte!
  • dpasaric: Osvrt na naslovnici! :)
  • CoffeePod: Apple glowing logo je back i želim ga na i non-touch Macovima
  • CoffeePod: Broj puta kad sam htio dotaknut MacBook ekran u svom životu: 0
  • drlovric: Kupit cemo ga kad izadje M9. Ne vidim problem :)
  • dpasaric: Novi MacBook Pro 16" s višedodirnim PRO XDR ekranom stoji sitnicu od 16.500 € u top konfiguraciji! :)
  • Riba: Vikalica je bila u kvaru par dana, mogao je netko i javiti a ne da sve moramo mi! :)
  • VanjusOS: jel treba netko Thunderbolt kabl 2m, original apple naravno - nek mi se javi
  • Yonkis: Uf, teško pitanje, tko zna što je otišlo, kvrcnulo. Sigurno neki konektor, kabel. Otvori post u forumu pa ćemo razglabati.
  • markoveic: upomoc. Air M2, ekran udaren, pa crte, pa mrak. Na vanjskom sve radi. Dali mi se isplati zamjena s obzirom na bazni model? Koliko jeftino mogu proci?
  • iAnte: Ima li netko iskustva sa zamjenom USB porta na 15 pro? iStyle kaže da mijenja cijelu matičnu ploču, a vidim da se sam USB port prodaje na iFixit. Kako rade zamjenski dijelovi, stoji li u postavkama poruka da je instaliran zamjenski dio?
  • Riba: $49, one time.

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.42 Seconds

Provided by iJoomla SEO